在服务器上安装PHP是搭建动态网站的核心步骤之一,以下为详细操作指南,涵盖主流操作系统环境,遵循最佳实践并兼顾安全性:
安装前准备
-
系统要求
- 操作系统:Ubuntu 20.04+/CentOS 7+/Windows Server 2016+
- 内存:≥1GB(生产环境建议≥2GB)
- 存储:≥10GB可用空间
- 权限:需具备
root
或sudo
权限
-
环境依赖
# Ubuntu/Debian sudo apt update && sudo apt upgrade -y sudo apt install software-properties-common -y # CentOS/RHEL sudo yum update -y sudo yum install epel-release -y
PHP安装步骤(Linux环境)
方案1:APT安装(Ubuntu/Debian)
sudo apt update # 安装PHP扩展包(以8.2为例) sudo apt install php8.2 php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring -y
方案2:YUM安装(CentOS/RHEL)
# 添加Remi仓库 sudo yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y sudo yum-config-manager --enable remi-php82 # 安装核心组件 sudo yum install php php-fpm php-mysqlnd php-opcache php-gd php-xml php-mbstring -y
方案3:编译安装(自定义需求)
wget https://www.php.net/distributions/php-8.2.12.tar.gz tar xvf php-8.2.12.tar.gz cd php-8.2.12 ./configure --prefix=/usr/local/php \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --enable-opcache \ --with-mysqli make -j$(nproc) sudo make install
Windows服务器安装
- 访问PHP官网下载页
- 选择VS16 x64 Thread Safe版本
- 解压至
C:\php
- 配置环境变量:
- 添加
C:\php
到系统PATH
- 添加
- 重命名
php.ini-production
为php.ini
- 在IIS中:
- 安装「FastCGI模块」
- 添加映射:
*.php
→C:\php\php-cgi.exe
基础配置
-
修改主配置文件
sudo nano /etc/php/8.2/fpm/php.ini # 路径因版本而异
关键参数调整:
upload_max_filesize = 64M post_max_size = 128M memory_limit = 256M max_execution_time = 180 date.timezone = Asia/Shanghai error_log = /var/log/php_errors.log
-
服务管理
# 启动PHP-FPM sudo systemctl start php8.2-fpm # 设置开机自启 sudo systemctl enable php8.2-fpm
Web服务器集成
Nginx配置
server { location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; } }
重启服务:sudo systemctl restart nginx
Apache配置
sudo apt install libapache2-mod-php8.2 -y # Ubuntu sudo systemctl restart apache2
验证安装
- 创建测试文件:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
- 访问
http://服务器IP/info.php
- 出现PHP信息页面即成功
安全加固措施
- 禁用危险函数
disable_functions = exec,passthru,shell_exec,system
- 限制文件访问
open_basedir = /var/www/html
- 隐藏PHP版本
expose_php = Off
- 定期更新:
sudo apt upgrade php8.2* # Ubuntu sudo yum update php* # CentOS
故障排查
- 502 Bad Gateway:检查
php-fpm.sock
路径是否匹配Nginx配置 - 扩展未加载:运行
php -m | grep [扩展名]
验证 - 权限问题:确保
www-data
用户拥有文件所有权sudo chown -R www-data:www-data /var/www/html
引用说明
本文操作基于PHP官方文档(php.net)及服务器厂商推荐实践,Linux配置参考DigitalOcean社区指南,Windows集成方案遵循Microsoft IIS文档,安全建议符合OWASP PHP安全标准。
重要提示:生产环境务必删除
info.php
测试文件,避免暴露敏感信息,建议通过Composer管理项目依赖,并使用PHP-FPM进程隔离提升稳定性。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/5625.html