1. 准备CentOS开发环境首先更新系统软件包以获取最新安全补丁和功能:

sudo yum update -y安装EPEL仓库(Extra Packages for Enterprise Linux),它提供了额外的PHP模块和工具:
sudo yum install epel-release -y2. 安装LAMP/LEMP核心组件
Apache是CentOS默认的Web服务器,适合大多数PHP项目:
sudo yum install httpd -ysudo systemctl start httpdsudo systemctl enable httpd# 设置开机自启验证Apache是否运行:在浏览器访问http://your_server_ip,应看到Apache默认页面。
MariaDB是CentOS默认的MySQL兼容数据库,性能更优:
sudo yum install mariadb-server mariadb -ysudo systemctl start mariadbsudo systemctl enable mariadb运行安全脚本配置数据库(设置root密码、删除匿名用户、禁用远程root登录):
sudo mysql_secure_installation安装PHP核心及常用模块(如MySQL连接、GD图像处理、MB字符串处理):
sudo yum install php php-mysqlnd php-gd php-mbstring php-xml php-bcmath -y重启Apache使PHP生效:
sudo systemctl restart httpd验证PHP安装:在/var/www/html目录下创建info.php文件,内容为<?php phpinfo(); ?>,访问http://your_server_ip/info.php,应看到PHP信息页面。
3. 配置PHP环境
PHP的主配置文件位于/etc/php.ini,可根据需求修改以下参数:
memory_limit:增加脚本内存限制(如256M);upload_max_filesize:设置上传文件大小限制(如50M);max_execution_time:延长脚本执行时间(如300秒)。修改后重启Apache:sudo systemctl restart httpd若需托管多个网站,可创建虚拟主机。例如,为example.com创建配置文件:
sudo vi /etc/httpd/conf.d/example.com.conf添加以下内容(替换example.com为你的域名):
<VirtualHost *:80>ServerAdmin [email protected] example.comServerAlias www.example.comDocumentRoot /var/www/example.com/public_htmlErrorLog /var/www/example.com/error.logCustomLog /var/www/example.com/requests.log combined<Directory /var/www/example.com/public_html>AllowOverride All# 允许.htaccess覆盖配置Require all granted</Directory></VirtualHost>创建网站目录并设置权限:
sudo mkdir -p /var/www/example.com/public_htmlsudo chown -R apache:apache /var/www/example.com/public_html重启Apache使配置生效:
sudo systemctl restart httpd4. 编写与部署PHP应用
使用PSR-1(基本编码规范)、PSR-2(代码风格指南)、PSR-4(自动加载)等标准,确保代码结构一致、可维护。例如:
StudlyCaps(如UserController);camelCase(如getUserInfo);.php。Composer是PHP的依赖管理工具,可自动安装第三方库(如Laravel、Twig)。安装Composer:
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer创建composer.json文件声明依赖(如使用Laravel):
{"require": {"laravel/framework": "^10.0"}}安装依赖:
composer install使用Laravel、Symfony等MVC框架,将应用分为模型(Model,处理数据)、视图(View,展示界面)、控制器(Controller,处理逻辑),提高代码复用性和可维护性。例如,Laravel的路由文件routes/web.php可定义URL与控制器的映射:
use AppHttpControllersUserController;Route::get('/users', [UserController::class, 'index']);$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");$stmt->execute([$email]);$user = $stmt->fetch();htmlspecialchars函数转义输出:echo htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8');@csrf指令)。5. 测试与部署
在开发环境中使用XAMPP、WAMP或直接运行php -S localhost:8000启动内置服务器,测试应用功能。
APP_DEBUG=false);