Linux下如何安装PHP环境
- Linux
- 2025-06-14
- 5
安装前的准备
在Linux系统部署PHP环境前,请确保:
- 已获取root或sudo权限
- 终端网络连接正常
- 确认系统版本(推荐Ubuntu 20.04+/CentOS 7+)
- 更新系统:
Ubuntu/Debian sudo apt update && sudo apt upgrade -y
CentOS/RHEL
sudo yum update -y
分步骤安装指南
安装PHP核心
Ubuntu/Debian
sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip -y
CentOS/RHEL
sudo yum install epel-release -y sudo yum install https://rpms.remirepo.net/enterprise/remi-release-$(rpm -E %rhel).rpm -y sudo yum module enable php:remi-8.1 -y # 以PHP 8.1为例 sudo yum install php php-fpm php-mysqlnd php-curl php-gd php-mbstring php-xml php-zip -y
配置PHP(关键安全设置)
- 编辑主配置文件: sudo nano /etc/php/*/fpm/php.ini # Ubuntu路径 sudo nano /etc/php.ini # CentOS路径
- 修改以下参数: expose_php = Off # 隐藏PHP版本 cgi.fix_pathinfo=0 # 防止路径遍历攻破 upload_max_filesize = 64M # 调整上传文件大小 post_max_size = 64M memory_limit = 256M
集成Web服务器(Nginx示例)
-
安装Nginx:
Ubuntu

CentOS
-
配置站点(示例/etc/nginx/sites-available/your_site):
server { listen 80; server_name your_domain.com; root /var/www/html; location ~ .php$ { include snippets/fastcgi-php.conf; # Ubuntu路径 # include /etc/nginx/fastcgi_params; # CentOS路径 fastcgi_pass unix:/run/php/php-fpm.sock; } } -
重启服务生效:
sudo systemctl restart nginx php-fpm sudo systemctl enable nginx php-fpm
- 创建测试文件: echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
- 浏览器访问: http://your_server_ip/info.php
预期结果:显示PHP版本、扩展列表等详细信息(测试后务必删除此文件:sudo rm /var/www/html/info.php)
- 限制敏感函数:在php.ini中添加 disable_functions = exec,passthru,shell_exec,system
- 配置文件权限: sudo chown -R www-data:www-data /var/www/html # Ubuntu sudo chown -R nginx:nginx /var/www/html # CentOS sudo find /var/www/html -type d -exec chmod 755 {} ; sudo find /var/www/html -type f -exec chmod 644 {} ;
- 启用防火墙:
Ubuntu sudo ufw allow 'Nginx Full'
CentOS
sudo firewall-cmd --permanent --add-service=http --add-service=https sudo firewall-cmd --reload - 502 Bad Gateway:检查php-fpm.sock路径是否匹配Nginx配置
- 扩展未加载:运行php -m确认扩展状态,重启php-fpm
- 权限拒绝:使用namei -l /var/www/html检查目录权限链
- 性能优化:
- 安装OPcache:sudo apt install php-opcache / sudo yum install php-opcache
- 调整pm模式(/etc/php-fpm.d/www.conf): pm = dynamic pm.max_children = 50 pm.start_servers = 5
- 版本管理:
使用update-alternatives(Ubuntu)或remi仓库(CentOS)切换多版本PHP
- PHP官方安装文档:https://www.php.net/manual/en/install.unix.php
- Nginx PHP配置指南:https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/
- Linux安全加固标准:CIS Benchmarks
本文基于主流Linux发行版编写,适用于生产环境部署,定期更新保证方案有效性。
验证安装
安全加固措施
故障排查
扩展建议
引用说明: