PHP+MySQL代码部署在Linux(Ubuntu)上注意事项

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

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

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

image

注意事项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 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上搜索,有时在平时工作中积累的经验也非常的宝贵。所以平时需要把一些错误的经验,或者问题的解决办法记录下来,这样可以提升解决问题的能力。

 
相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
5月前
|
消息中间件 缓存 弹性计算
纯PHP+MySQL手搓高性能论坛系统!代码精简,拒绝臃肿
本内容分享了一套经实战验证的社交系统架构设计,支撑从1到100万用户的发展,并历经6次流量洪峰考验。架构涵盖客户端层(App、小程序、公众号)、接入层(API网关、负载均衡、CDN)、业务服务层(用户、内容、关系、消息等服务)、数据层(MySQL、Redis、MongoDB等)及运维监控层(日志、监控、告警)。核心设计包括数据库分库分表、多级缓存体系、消息队列削峰填谷、CQRS模式与热点数据动态缓存。同时提供应对流量洪峰的弹性伸缩方案及降级熔断机制,并通过Prometheus实现全链路监控。开源建议结构清晰,适合大型社交平台构建与优化。
202 11
|
2月前
|
存储 缓存 安全
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
php项目源码加密之Zend Guard Loader加密的代码解密可能性很小-优雅草卓伊凡
91 2
|
3月前
|
Ubuntu Linux UED
Ubuntu和Debian系统与Hat Linux系列的使用比较
所以,如果你想搞一个家用服务器,或者是个人使用,喜欢新鲜事物,那Ubuntu可能是你的最好选择。如果你需要一个在商业环境中经受住考验的系统,那Fedora或CentOS可能更符合你的口味。不过记住,CentOS现在是CentOS Stream,中途换马了,所以如果你是稳定性的极端追求者,可能得考虑一下这一变化。而Debian,则适合那些对稳定性需求极高,不太追求软件版本新旧的用户。
111 26
|
3月前
|
Ubuntu 搜索推荐 Linux
Ubuntu/Debian Hat系Linux的便捷操作指南
总的来说,虽然Ubuntu/Debian和Red Hat系列在操作方法上有所不同,但基本概念类似。掌握了包管理和服务管理,可以应对大多数常见的系统管理任务。同时,这两个系统都有丰富的在线资源可以查询,不管你在任务中遇到什么困难,搜索引擎都能帮你找到答案。这些基本技能能让你在Linux的世界里更加自如。
96 26
|
3月前
|
Ubuntu Linux Shell
Linux环境下VSCode快速安装终极指南:debian/ubuntu/linux平台通用
以上就是在Linux环境下安装VSCode的终极指南,抛开繁复的专业词汇,以平易近人的文字、形象生动的比喻让你轻松学会这一过程。别忘了,你的小伙伴VSCode已经在应用菜单里等你了!
724 23
|
4月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
249 32
|
4月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
273 41
|
4月前
|
开发框架 Java 关系型数据库
在Linux系统中安装JDK、Tomcat、MySQL以及部署J2EE后端接口
校验时,浏览器输入:http://[your_server_IP]:8080/myapp。如果你看到你的应用的欢迎页面,恭喜你,一切都已就绪。
360 17
|
4月前
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
111 18
|
4月前
|
开发框架 关系型数据库 Java
Linux操作系统中JDK、Tomcat、MySQL的完整安装流程以及J2EE后端接口的部署
然后Tomcat会自动将其解压成一个名为ROOT的文件夹。重启Tomcat,让新“植物”适应新环境。访问http://localhost:8080/yourproject看到你的项目页面,说明“植物”种植成功。
120 10