Не удается установить пакет PHP на CentOS

У меня возникла проблема с повторной установкой PHP через yum на моем сервере, размещенном цифровым океаном.

Я установил PHP 5.4, но хотел 5.6. Я добавил / включил реми-репо, запустил yum -y remove php* а затем попытался переустановить php.

Когда я запускаю yum -y install php я получаю следующее:

 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: mirrors.centos.webair.com * epel: mirrors.coreix.net * extras: mirrors.centos.webair.com * remi: remi.check-update.co.uk * remi-php56: remi.check-update.co.uk * updates: mirrors.centos.webair.com * webtatic: uk.repo.webtatic.com Resolving Dependencies --> Running transaction check ---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed --> Processing Dependency: php-common(x86-64) = 5.6.8-1.el6.remi for package: php-5.6.8-1.el6.remi.x86_64 --> Processing Dependency: php-cli(x86-64) = 5.6.8-1.el6.remi for package: php-5.6.8-1.el6.remi.x86_64 --> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64 --> Running transaction check ---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed --> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64 ---> Package php-cli.x86_64 0:5.6.8-1.el6.remi will be installed ---> Package php-common.x86_64 0:5.6.8-1.el6.remi will be installed --> Processing Dependency: php-pecl-zip(x86-64) for package: php-common-5.6.8-1.el6.remi.x86_64 --> Processing Dependency: php-pecl-jsonc(x86-64) for package: php-common-5.6.8-1.el6.remi.x86_64 --> Running transaction check ---> Package php.x86_64 0:5.6.8-1.el6.remi will be installed --> Processing Dependency: httpd-mmn = 20051115 for package: php-5.6.8-1.el6.remi.x86_64 ---> Package php-pecl-jsonc.x86_64 0:1.3.7-1.el6.remi.5.6 will be installed ---> Package php-pecl-zip.x86_64 0:1.12.5-1.el6.remi.5.6 will be installed --> Finished Dependency Resolution Error: Package: php-5.6.8-1.el6.remi.x86_64 (remi-php56) Requires: httpd-mmn = 20051115 Installed: httpd-2.4.6-31.el7.centos.x86_64 (@base) httpd-mmn = 20120211 httpd-mmn = 20120211x8664 httpd-mmn = 20120211-x86-64 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 

Я слежу за этим уроком

Я немного застрял. Я попытался удалить httpd, повторно установить httpd, ничего, кажется, не исправить это. Я даже получаю ошибку, когда отключу remi и пытаюсь установить PHP 5.4.

Любые идеи о том, куда идти отсюда?

Я запускаю версию CentOS Linux 7.1.1503 (Core)

Я починил это! Проблема заключалась в том, что у меня была неправильная версия EL. Я удалил все свои дополнительные репо, удалил все пакеты php, удалил httpd. Выполните следующее:

 yum install epel-release rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum clean yum update 

Затем я смог установить PHP, используя следующие

 yum install php56w php56w-opcache php56w-mcrypt php56w-pdo php56w-mysql 

Я также столкнулся с такой же проблемой при установке php70w (webstatic) на моем Linux-машине. Следующая команда помогла мне установить php70

 sudo yum clean all // to clear all caches 

после очистки кеша снова установите php70, используя:

 sudo yum install php70 

Хотя это, вероятно, лучше подходит для сервера или poweruser, я все равно отвечу.

Это основано на опыте и работает каждый раз, если сделано в соответствии с инструкциями.

Чтобы установить, сначала вы должны добавить информацию репозитория Webtatic EL yum, соответствующую вашей версии CentOS / RHEL, в yum:

CentOS / RHEL 7.x:

 rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 

Затем вы можете установить каждый из ваших отдельных пакетов следующим образом:

 yum install php56w-<package name> 

Однако не забудьте префикс php56w.

Источник: https://webtatic.com/packages/php56/


Попробуйте это (в отношении комментариев):

 yum update -y; yum remove httpd && yum install httpd; yum install php56w-common php56w-opcache php56w-mysql