You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS 6安装PHP 7.2时出现httpd-mmn版本冲突如何解决?

解决CentOS 6上PHP 7.2与源码编译httpd 2.4的版本冲突问题

碰到这种httpd-mmn版本冲突的问题,本质原因很明确:CentOS 6默认yum源里的PHP包是针对系统自带的httpd 2.2编译的,而你自己源码编译的httpd 2.4使用了不同的模块魔术数字(MMN),yum安装时校验不通过就会抛出冲突错误。下面给你两种靠谱的解决思路:

方法一:源码编译PHP 7.2适配你的httpd 2.4

既然你已经手动编译了httpd 2.4,最直接的方式就是同步编译PHP 7.2,让它和你的httpd版本完全匹配:

  1. 先安装编译PHP所需的依赖包:
yum install gcc gcc-c++ make autoconf libxml2-devel openssl-devel bzip2-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel libmcrypt-devel
  1. 下载PHP 7.2的稳定源码包(这里选7.2.34版本,你也可以选其他同分支的稳定版):
wget https://www.php.net/distributions/php-7.2.34.tar.gz
  1. 解压并进入源码目录:
tar -zxvf php-7.2.34.tar.gz && cd php-7.2.34
  1. 配置编译参数,关键是指定你自己编译的httpd的apxs路径(比如你的httpd安装在/usr/local/apache2,那apxs路径就是/usr/local/apache2/bin/apxs),其他参数按需添加:
./configure --prefix=/usr/local/php72 \
--with-apxs2=/usr/local/apache2/bin/apxs \
--enable-fpm \
--with-mysqli \
--with-pdo-mysql \
--with-openssl \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-mcrypt \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pcntl
  1. 编译并安装:
make && make install
  1. 配置php.ini文件:
cp php.ini-development /usr/local/php72/lib/php.ini
# 如果是生产环境,建议用php.ini-production
  1. 修改httpd.conf配置,添加PHP模块支持:
    找到httpd.conf文件(通常在/usr/local/apache2/conf/httpd.conf),添加以下内容:
LoadModule php7_module modules/libphp7.so

<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>
  1. 重启httpd服务:
/usr/local/apache2/bin/apachectl restart

方法二:改用yum源安装httpd 2.4,再匹配安装PHP 7.2

如果不想折腾源码编译,你可以把自己手动编译的httpd卸载,改用yum源里的httpd 2.4,这样就能直接用yum安装适配的PHP 7.2:

  1. 先卸载你源码编译的httpd:
cd /path/to/your/httpd-source-dir
make uninstall
# 再清理残留文件,比如rm -rf /usr/local/apache2
  1. 安装EPEL和Remi源(CentOS 6专属版本):
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
rpm -Uvh https://rpms.remirepo.net/enterprise/remi-release-6.rpm
  1. 启用Remi源里的httpd 2.4仓库:
yum-config-manager --enable remi-httpd24
  1. 安装httpd 2.4:
yum install httpd
  1. 启用Remi源里的PHP 7.2仓库:
yum-config-manager --enable remi-php72
  1. 安装PHP 7.2及常用扩展:
yum install php php-cli php-common php-gd php-mysql php-mbstring php-curl
  1. 启动httpd服务并设置开机自启:
service httpd start
chkconfig httpd on

这两种方法都能解决你的版本冲突问题,如果你想保留自定义编译的httpd配置,选方法一;如果想省心用yum管理,选方法二就好。

内容的提问来源于stack exchange,提问作者edbras

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:54:53