如何配置PHP服务器环境?PHP服务器环境设置完整教程
- 云服务器
- 2026-02-12
- 2022
配置PHP服务器环境涉及安装Web服务器(如Apache或Nginx)、PHP解释器及其扩展,并进行基础配置,以下是详细步骤:
操作系统选择(以Ubuntu为例)
# 更新系统 sudo apt update && sudo apt upgrade -y
安装Web服务器
选项1:Apache
sudo apt install apache2 -y sudo systemctl enable --now apache2
选项2:Nginx
sudo apt install nginx -y sudo systemctl enable --now nginx
安装PHP
# 添加第三方仓库(获取最新版本) sudo add-apt-repository ppa:ondrej/php -y sudo apt update # 安装PHP核心(以PHP8.2为例) sudo apt install php8.2 php8.2-fpm php8.2-common -y # 常用扩展 sudo apt install php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip -y
配置Web服务器支持PHP
Apache配置
# 启用PHP模块 sudo a2enmod proxy_fcgi setenvif sudo a2enconf php8.2-fpm # 重启Apache sudo systemctl restart apache2
Nginx配置
编辑站点配置文件(如/etc/nginx/sites-available/default):
server { listen 80; server_name localhost; root /var/www/html; location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 确认sock路径 } }
重启Nginx:
sudo nginx -t && sudo systemctl reload nginx
验证PHP运行
- 创建测试文件: echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
- 浏览器访问:http://服务器IP/info.php
看到PHP信息页面即成功

关键配置文件
| 文件路径 | 作用 |
|---|---|
| /etc/php/8.2/fpm/php.ini | PHP-FPM主配置文件 |
| /etc/php/8.2/fpm/pool.d/www.conf | PHP-FPM进程池配置 |
| /etc/php/8.2/cli/php.ini | 命令行PHP配置 |
常用配置项(修改后需重启服务):
memory_limit = 256M upload_max_filesize = 64M post_max_size = 128M date.timezone = Asia/Shanghai display_errors = Off # 生产环境关闭错误显示
安全加固
- 禁用危险函数: disable_functions = exec,passthru,shell_exec,system,proc_open
- 限制文件访问: # Nginx禁止访问敏感文件 location ~* .(ini|log|conf)$ { deny all; }
- 定期更新: sudo apt update && sudo apt upgrade
可选:安装数据库
MySQL
sudo apt install mysql-server -y sudo mysql_secure_installation
PHP需安装对应扩展:sudo apt install php8.2-mysql
管理服务命令
| 服务 | 启动 | 查看状态 |
|---|---|---|
| Apache | sudo systemctl restart apache2 | systemctl status apache2 |
| Nginx | sudo systemctl reload nginx | systemctl status nginx |
| PHP-FPM | sudo systemctl restart php8.2-fpm | systemctl status php8.2-fpm |
常见问题解决
-
502 Bad Gateway

- 检查PHP-FPM是否运行:systemctl status php8.2-fpm
- 确认Nginx配置中的sock路径:ls /run/php/
-
扩展未加载
- 检查扩展目录:php -i | grep extension_dir
- 确保已安装扩展:sudo apt install php8.2-[扩展名]
-
权限问题
- 设置Web目录权限: sudo chown -R www-data:www-data /var/www/html sudo chmod -R 755 /var/www
提示:生产环境建议使用Docker或配置防火墙(UFW)增强安全。
