Я установил 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
, Все с той же ошибкой. Я собрал apache, используя rpm-build.
$ httpd -v
Server version: Apache/2.4.6 (Unix)
$ 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
Пакет php, который вы пытаетесь установить, на самом деле является mod_php, который скомпилирован с определенным ABI HTTP-сервером Apache (httpd-mmn). Stock php, IUS, Webtatic и Remirepo все собраны против стандартного httpd. Некоторые пакеты Remi создаются на основе исходного кода, а другие — на версиях httpd, которые он поставляет. Компиляция вашего собственного httpd из исходного кода, как правило, будет означать необходимость компилировать и ваш собственный mod_php.
Если вам нужен только php, а не mod_php, вы можете использовать вместо него php-fpm, и это позволит полностью избежать этой проблемы. В настоящее время IUS поставляет пакеты php55u-fpm, php56u-fpm и php70u-fpm, если вам нужна более свежая версия, чем в версии 5.3.
нет такой линии
[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
Если вы начинаете собирать из исходников (Apache), вы должны собирать почти «все» из исходников.
Конечно, вы также можете переключиться на php-fpm.