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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 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上搜索,有时在平时工作中积累的经验也非常的宝贵。所以平时需要把一些错误的经验,或者问题的解决办法记录下来,这样可以提升解决问题的能力。

 
相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
IDE PHP 开发工具
PHP中的类型提示与严格模式:提高代码可维护性
随着PHP语言的发展,开发者对代码的可读性、可维护性和可靠性有了更高的要求。PHP中的类型提示(Type Hinting)和严格模式(Strict Mode)为开发者提供了更强的类型检查机制,有助于提升代码质量和减少潜在的错误,尤其是在大型项目中。
|
2月前
|
安全 程序员 PHP
PHP中的异常处理:提升代码的健壮性
【10月更文挑战第8天】在编程的世界中,错误和异常是不可避免的。它们就像路上的坑洼,可能会让我们的程序“跌倒”。但是,如果我们能够正确地处理这些异常,就可以让我们的程序更加稳健,就像我们学会了如何在坑洼的路上稳稳地行走一样。本文将介绍PHP中的异常处理机制,以及如何使用它来提升我们的代码质量。
|
2天前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
58 7
|
2月前
|
安全 关系型数据库 MySQL
Linux下安装mysql8.0(以tar.xz包安装--编译安装)
通过上述步骤,您完成了从下载、编译、安装到配置MySQL 8.0的全过程。此过程虽然较为复杂,但提供了对MySQL安装环境的完全控制,有助于满足特定的部署需求。在实际操作中,根据具体的系统环境,可能还需调整部分步骤或解决未预见的依赖问题。始终参考官方文档和社区资源,保持安装过程与最新版本的兼容性。
1129 67
|
21天前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
|
23天前
|
PHP 开发者 容器
PHP命名空间深度解析:避免命名冲突与提升代码组织####
本文深入探讨了PHP中命名空间的概念、用途及最佳实践,揭示其在解决全局命名冲突、提高代码可维护性方面的重要性。通过生动实例和详尽分析,本文将帮助开发者有效利用命名空间来优化大型项目结构,确保代码的清晰与高效。 ####
20 1
|
29天前
|
供应链 安全 NoSQL
PHP 互斥锁:如何确保代码的线程安全?
在多线程和高并发环境中,确保代码段互斥执行至关重要。本文介绍了 PHP 互斥锁库 `wise-locksmith`,它提供多种锁机制(如文件锁、分布式锁等),有效解决线程安全问题,特别适用于电商平台库存管理等场景。通过 Composer 安装后,开发者可以利用该库确保在高并发下数据的一致性和安全性。
39 6
|
26天前
|
PHP 开发者 UED
探索PHP中的异常处理:提升代码的健壮性
在PHP开发中,优雅地处理错误和异常是确保应用稳定性和用户体验的关键。本文将通过深入浅出的方式,介绍如何在PHP中实现有效的异常处理机制,包括异常的基本概念、如何抛出和捕获异常,以及最佳实践。准备好让你的代码变得更加健壮和可靠吧!
20 2
|
28天前
|
存储 缓存 Ubuntu
Ubuntu Linux目录结构
理解Ubuntu Linux的目录结构对系统管理、维护和故障排除至关重要。每个目录都有其特定的用途和存放内容,通过了解这些目录,可以更高效地管理系统文件,确保系统的稳定运行。希望本文对你深入理解Ubuntu的目录结构有所帮助。
46 1
|
1月前
|
缓存 NoSQL PHP
Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出
本文深入探讨了Redis作为PHP缓存解决方案的优势、实现方式及注意事项。Redis凭借其高性能、丰富的数据结构、数据持久化和分布式支持等特点,在提升应用响应速度和处理能力方面表现突出。文章还介绍了Redis在页面缓存、数据缓存和会话缓存等应用场景中的使用,并强调了缓存数据一致性、过期时间设置、容量控制和安全问题的重要性。
43 5