У меня возникла проблема с повторной установкой 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