我从源代码安装了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
,ius
和remi
。都有同样的错误。我使用rpm-build构建了apache。
$ httpd -v
Server version: Apache/2.4.6 (Unix)
答案 0 :(得分: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
答案 1 :(得分:2)
您尝试安装的php包实际上是mod_php,它是针对特定的Apache HTTP Server ABI(httpd-mmn)编译的。股票php,IUS,Webtatic和Remirepo都是针对股票httpd构建的。 一些Remi软件包是针对库存构建的,但是针对他发布的httpd版本进行了其他构建。从源代码编译自己的httpd通常也意味着必须编译自己的mod_php。
如果你只需要php,而不是mod_php,你可以使用php-fpm代替,这样可以完全避免这个问题。如果您需要比5.3版本更新的版本,IUS目前提供php55u-fpm,php56u-fpm和php70u-fpm软件包。
答案 2 :(得分:0)
没有这样的行
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=16&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
答案 3 :(得分:0)
我开始构建源代码(Apache),你必须构建几乎所有的东西"来自消息来源。
当然你也可以切换到php-fpm。