最近帮同学做一个网站,同学买的是阿里云服务器,Linux发行版是Ubuntu12.04。我在本地把程序写好,都调试好了。然后他让我自己发布和部署。之前在大学里上操作系统课程时,也用过一段时间的Ubuntu,那个时候应该是10.04。并且是虚拟机,有界面的。现在是服务器版本,只有命令行,而且自己要使用终端模拟器链接。

所以就搜索资料,看哪些工具好用,而已方便。找了一圈,发现下面2个工具结合起来蛮好的。文件上传和权限改变工具:WinSCP,另外一个就是命令行终端模拟器:Xshell。这2个工具顺利帮我解决了这次在Linux上发布和部署PHP代码的问题。软件图标如下:

注意事项1:LAMP安装过程了,除了顺序安装Apache,MySQL和PHP。还要安装PHP对Apache对MySQL的支持。

同学告诉我,他已经安装了Apache,MySQL5.5和PHP。但是我的代码放到/var/www目录下,只要有调用MySQL的页面都运行不了,显示500服务器内部错误。这个比较纠结,然后一行一行的注释,发现下面这行代码无法执行:

$databaseConnection = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);我就问他,你确定装好了PHP,MySQL5.5。他说肯定呀!都是按照步骤安装的。开始我们都以为mysqli的扩展没有安装,就在那里改php.ini里面extension。改了,然后重启了几次Apache2和MySQL,都不起作用。后来我记得在Windows上配置时,要在PHP里面加载MySQL的dll。那在Linux系统中也需要的吧!然后就问他这个装了没有,他说应该没有。然后我们就搜索,发现确实需要装。命令是:

sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
#重启Apache
sudo /etc/init.d/apache2 restart

  

注意事项2:MySQL在Linux上默认对表名是大小写敏感的。 开始以为大功告成,可以洗澡睡觉了。发现点了几个页面,又有页面500错误了。怪了,这下又是什么问题。注释和运行了半天,发现有一条sql语句的程序代码,运行不了。SELECT * FROM USERS WHER id=?; 这是一条非常简单的sql语句呀!怎么跑不动呢?开始以为是bind_param(‘i’$user_id),这里绑定数据有问题。后来想到之前,公司项目中,同事从连接Oracle数据库代码搬迁到连接MySQL数据库时,出现表名大小写有问题。我突然想到是不是也有这个问题,把USERS改成users就ok了。后面查找资料得出,MySQL在Linux默认对表名是大小写敏感的。

总结如下:

1.Web开发工程师,不管前端,后台还是数据库,都需要了解一些Linux相关知识。因为x86 linux服务器是未来的趋势,而且公司的现有系统都慢慢的往Linux上迁移。

2.遇到问题,一方面除了在Google上搜索,有时在平时工作中积累的经验也非常的宝贵。所以平时需要把一些错误的经验,或者问题的解决办法记录下来,这样可以提升解决问题的能力。

参考链接:

1.WinSCP:http://download.pchome.net/internet/ftp/detail-34064.html

2.Xshell4:http://www.onlinedown.net/soft/36383.htm 官网比较难打开,我是在太平洋下载的。而已它在安装的时候,可以选择Xshell4 for home/school。这个是免费的。

3.在Centos下安装LAMP环境:http://www.cactifans.org/linux/324.html

PHP+MySQL代码部署在Linux(Ubuntu)上注意事项的更多相关文章

  1. Ubuntu常用命令大全 以及 PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

    PHP+MySQL代码部署在Linux(Ubuntu)上注意事项 https://cloud.tencent.com/developer/article/1024187 Ubuntu常用命令大全 ht ...

  2. java项目 在 linux ubuntu 上的部署相关

    --------------------JDK在linux ubuntu上的安装------------------------------------------------------------ ...

  3. 如何在Linux(Ubuntu)上安装Redmine

    费话就不多说了,本文主要描述如何在如何在Linux(Ubuntu)上安装Redmine.通过这篇文章你将了解如下内容. TL;DR 在Linux(Ubuntu)上安装Redmine的基本流程 配置ph ...

  4. springboot 定时任务部署至linux服务器上后会执行两次问题

    springboot定时任务在本地运行时,正常执行且只执行一次,但是在maven打包成war包,部署至linux服务器上之后,定时任务奇怪的执行了两次. 由于未做负载均衡,所以可以先排除是因为多台服务 ...

  5. ireport部署到Linux服务器上遇到的问题解决

    ireport报表在本地Windows环境运行正常,一旦部署到Linux环境上出现了如下问题: 1.打开报表,后台直接报net.sf.jasperreports.engine.util.JRFontN ...

  6. [转]Linux Ubuntu上架设FTP

    Linux Ubuntu上架设FTP http://www.blogjava.net/stonestyle/articles/369104.html 操作系统:ubuntu (GNU/Linux) 为 ...

  7. 怎么在linux Ubuntu上部署nodejs

    今天特别开心,同时也有兴趣把最近的一些工作总结一下. 第一,方便记忆. 第二, 给需要的同学做参考 node.js 在本地的话,比较容易运行,node app.js 命令就搞定,但是当需要部署到生产环 ...

  8. .NET跨平台之旅:将QPS 100左右的ASP.NET Core站点部署到Linux服务器上

    今天下午我们将生产环境中一个单台服务器 QPS(每秒请求数)在100左右的 ASP.NET Core 站点部署到了 Linux 服务器上,这是我们解决了在 .NET Core 上使用 EnyimMem ...

  9. 怎么在linux ubuntu 上的nginx 绑定域名

    前一篇介绍了,如果在ubuntu上运行nodejs,毕竟访问的时候都是用ip地址+端口号,但是上production 环境都需要域名的,IP地址当然不行 读过上一篇的朋友知道了,如果在upstart ...

随机推荐

  1. Struts2中跳转问题

    struts2 跳转类型 result type=chain.dispatcher.redirect(redirect-action) dispatcher 为默认跳转类型,用于返回一个视图资源(如: ...

  2. springBoot上传文件大小设置

    框架架构: springboot+hibernate+freemarker+ueditor, tomcat内嵌在springboot里面,由于是内嵌,用ueditor上传图片,tomcat默认上传为1 ...

  3. CSS中"!important"的使用

    本篇文章使用最新的IE10以及firefox与chrome测试(截止2013年5月27日22:23:22) CSS的原理: 我们知道,CSS写在不同的地方有不同的优先级, .css文件中的定义 < ...

  4. swiper插件 纵向内容超出一屏解决办法

    1.css .swiper-slide { overflow: auto; } 2.js var swiper = new Swiper('.swiper-container', { directio ...

  5. DSY2748*音量调节

    Description 一个吉他手准备参加一场演出.他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量.在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改 ...

  6. 打造AngularJs2.0开发环境

    angularjs2.0刚发布, typescript2.0也刚发布, 于2016.9.29记录. 参考文档:https://angular.cn/docs/ts/latest/quickstart. ...

  7. dot

    今天写程序的时候发现一个问题啊 在主函数里面吧某个指针node* r=NULL 赋值为空 然后调用函数insert(node* r,....) 在insert里面呢,我给这个指针赋值了啊 但是主函数里 ...

  8. 浅谈P2P金融

    自从李总理开发互联网大会,提出“互联网+”,好像与互联网相在的所有事情都火起来了.上至80岁的老头,下至十多岁的孩童,都知道了这个词“互联网+”.虽然大家可能对”互联网+“的概念都只是一支半解,但是像 ...

  9. 实验环境里新创建成功的web application却在浏览器中返回404错误

    刚刚翻笔记翻到一些刚学SharePoint时候解决的一些很2的初级问题,本来是有些挣扎该不该把它们记录到这个blog里的?因为担心这些很初级的文章会拉低这个blog的逼格,但是我的哥们善意的提醒了我一 ...

  10. XML数据的解析

    XML数据的解析 相比于JSON数据解析而言,XML数据解析可能会让更多的童鞋感觉到吃力,对我来说,同样认为JSON数据好像让人感觉比较友好,不过对于程序开发者来说,无非就是这两种数据解析占比较大的部 ...