在 CentOS 上 PHP 配置失败 的原因有很多,通常不是单一问题。下面按最常见原因 → 排查方法 → 解决思路给你一个系统清单,你可以对照看是哪一种。
php -v
如果提示 command not found:
php-cli 但 Web 服务用的是另一个✅ 解决:
yum install php php-cli
# 或
dnf install php
httpd -M | grep php
如果没有 php_module:
yum install php
systemctl restart httpd
Nginx 本身不解析 PHP,必须靠 php-fpm:
systemctl status php-fpm
如果没启动:
systemctl start php-fpm
systemctl enable php-fpm
php --ini
常见路径:
/etc/php.ini/etc/php.d/*.ini⚠️ 注意:
这是 90% 的“配置不生效”原因
# Apache
systemctl restart httpd
# Nginx + PHP
systemctl restart php-fpm
systemctl restart nginx
getenforce
如果是 Enforcing:
setenforce 0 # 临时关闭
或:
setsebool -P httpd_execmem 1
chown -R apache:apache /var/www/html
chmod -R 755 /var/www/html
php -l /etc/php.ini
或看错误日志:
tail -f /var/log/php-fpm/error.log
tail -f /var/log/httpd/error_log
如果你装了:
yum install php80-php
实际命令是:
php80 -v
配置文件在:
/etc/opt/remi/php80/
你可以依次执行:
php -v
php --ini
systemctl status php-fpm
systemctl status httpd
tail -n 50 /var/log/php-fpm/error.log
你可以直接告诉我:
我可以一步一步帮你排到能跑为止。