4

我从源代码安装了 httpd (apache 2.4.6),现在我想安装 PHP。但yum install php吐出错误:

Error: Package: php-5.3.3-40.el6_6.x86_64 (updates)
       Requires: httpd-mmn = 20051115
       Installed: httpd-2.4.6-1.x86_64 (installed)
           httpd-mmn = 20120211
       Available: httpd-2.2.15-39.el6.centos.x86_64 (base)
           httpd-mmn = 20051115

我也尝试过webtatic,iusremi. 都有同样的错误。我使用 rpm-build 构建了 apache。

$ httpd -v
Server version: Apache/2.4.6 (Unix)
4

3 回答 3

4
$ sudo nano /etc/yum.conf

从此行中删除 httpd* 和 php*:

exclude=apache* bind-chroot courier* dovecot* exim* filesystem httpd* mod_ssl* mydns* mysql* nsd* perl* php* proftpd* pure-ftpd* ruby* spamassassin* squirrelmail*

保存并关闭 yum.conf

再试一次:

$ sudo yum install php
于 2015-11-12T03:34:57.880 回答
2

您尝试安装的 php 包实际上是 mod_php,它是针对特定的 Apache HTTP Server ABI (httpd-mmn) 编译的。Stock php、IUS、Webtatic 和 Remirepo 都基于 stock httpd 构建。 一些 Remi 软件包针对库存构建,但其他构建针对他发布的 httpd 版本。 从源代码编译你自己的 httpd 通常意味着你也必须编译你自己的 mod_php。

如果你只需要 php,而不是专门的 mod_php,你可以使用 php-fpm 代替,这将完全避免这个问题。如果您需要比库存 5.3 更新的版本,IUS 目前提供 php55u-fpm、php56u-fpm 和 php70u-fpm 软件包。

于 2016-02-29T16:25:21.080 回答
0

我从源代码(Apache)开始构建,你必须从源代码构建几乎“所有东西”。

当然你也可以切换到php-fpm。

于 2016-02-29T19:31:04.113 回答