温馨提示×

centos php配置冲突咋解决

小樊
35
2026-09-08 20:20:37
栏目: 编程语言

在 CentOS 上“PHP 配置冲突”通常不是指 PHP 本身报错,而是多个 PHP 版本 / 多个配置源 / 包管理器冲突导致的。下面按常见场景给你排查和解决思路。


一、常见冲突类型

1️⃣ 同时装了多个 PHP 版本(php 5.4 / 7.x / 8.x)

常见于:

  • 系统自带 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

2️⃣ Apache / Nginx 使用的 PHP 不一致

现象

  • 命令行 php -v 是 8.1
  • 网页 phpinfo() 是 5.4

原因

  • Apache 用的是 mod_php
  • Nginx 用的是 php-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

3️⃣ php.ini 冲突(多个配置文件)

现象

  • 修改了 /etc/php.ini 不生效
  • 实际加载的是其他地方

检查

php --ini

常见路径:

/etc/php.ini
/etc/php.d/*.ini

解决

  • 不要同时改多个文件
  • php -i | grep "Loaded Configuration File"

4️⃣ yum / dnf 包冲突

现象

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

如果你能贴出具体报错信息或:

  • CentOS 版本
  • PHP 版本
  • Apache / Nginx
  • 报错截图或日志

我可以直接帮你“对症下药”。

0