在 CentOS 上“PHP 配置冲突”通常不是指 PHP 本身报错,而是多个 PHP 版本 / 多个配置源 / 包管理器冲突导致的。下面按常见场景给你排查和解决思路。
常见于:
php(CentOS 7 是 5.4)remi / software collections / 编译版现象
php -v
# 和
rpm -qa | grep php
版本不一致
解决
# 查看装了哪些
rpm -qa | grep php
# 卸载不需要的
yum remove php php-cli php-common
使用 Remi 时,明确启用一个版本:
yum install yum-utils
yum-config-manager --disable remi-php54
yum-config-manager --enable remi-php81
yum install php php-cli
现象
php -v 是 8.1phpinfo() 是 5.4原因
mod_phpphp-fpm解决
# 查看 php-fpm
systemctl status php-fpm
rpm -qa | grep php-fpm
统一版本,例如:
yum install php-fpm
systemctl restart php-fpm
Apache 建议用:
yum install php-fpm
# 禁用 mod_php
现象
/etc/php.ini 不生效检查
php --ini
常见路径:
/etc/php.ini
/etc/php.d/*.ini
解决
php -i | grep "Loaded Configuration File"现象
Error: php-common conflicts with php70-php-common
解决
package-cleanup --dupes
yum remove php70-php-common
或彻底清理:
yum remove php*
yum install php php-cli php-common
CentOS 7:
yum install epel-release
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum-config-manager --enable remi-php81
yum install php php-cli php-fpm
CentOS 8 / Stream:
dnf module reset php
dnf module enable php:8.1
dnf install php php-cli php-fpm
php -v
which php
php --ini
rpm -qa | grep php
systemctl status php-fpm
如果你能贴出具体报错信息或:
我可以直接帮你“对症下药”。