CentOS 上 PHP 兼容性要点与避坑指南
一 兼容性与版本基线
二 常见兼容性问题与对策
setsebool/semanage 做最小权限放行。三 不同 CentOS 版本与 PHP 选择建议
| 系统版本 | 建议 PHP 范围 | 推荐获取方式 | 备注 |
|---|---|---|---|
| CentOS 6 | ≤ PHP 7.3(如 7.3.33) | Remi 仓库 | PHP 8.x 在该平台通常安装失败或不稳定;如用面板(如 AMH),实测最高 PHP 7.3、MySQL 5.7 更稳。 |
| CentOS 7 | PHP 7.4(兼顾生态与稳定)或 PHP 8.0/8.1(应用明确支持) | EPEL + Remi(启用 remi-php74/remi-php80 等) | 默认 PHP 5.4 过旧,建议启用 Remi;扩展按需安装(如 php-mysqlnd、php-gd、php-xml、php-mbstring、php-fpm)。 |
| CentOS 8 / Stream | PHP 7.4/8.0/8.1/8.2(随 AppStream 可用) | dnf/yum 与模块流 | 建议优先使用系统模块流管理版本,减少外部依赖冲突。 |
四 快速排查与配置清单
php -v、php -m;Web 态核对:phpinfo();yum install -y php php-mysqlnd php-gd php-xml php-mbstring php-fpma2enmod proxy_fcgi setenvif;在虚拟主机加入 ProxyPassMatch \.php$ fcgi://127.0.0.1:9000/var/www/htmlsystemctl enable --now httpd php-fpmfirewall-cmd --permanent --add-service=http --add-service=https && firewall-cmd --reloadsetenforce 0,如 setsebool -P httpd_can_network_connect 1五 实践建议