Назад | Перейти на главную страницу

Не удается установить PHP 5.5 на CentOS 6.7

У меня есть выделенный сервер на Кимсуфи. Я пытаюсь обновить PHP 5.3 до PHP 5.5 на CentOS 6.7, используя это руководство, но, к сожалению, получаю следующие ошибки:

Error: Package: php-mysql-5.4.45-1.el6.remi.x86_64 (remi)
       Requires: php-pdo(x86-64) = 5.4.45-1.el6.remi
       Removing: php-pdo-5.3.3-27.el6.2.x86_64 (@LocalRepo)
           php-pdo(x86-64) = 5.3.3-27.el6.2
       Updated By: php-pdo-5.5.29-1.el6.remi.x86_64 (remi-php55)
           php-pdo(x86-64) = 5.5.29-1.el6.remi
       Available: php-pdo-5.4.44-1.el6.remi.x86_64 (remi)
           php-pdo(x86-64) = 5.4.44-1.el6.remi
       Available: php-pdo-5.4.45-1.el6.remi.x86_64 (remi)
           php-pdo(x86-64) = 5.4.45-1.el6.remi
       Available: php-pdo-5.5.28-1.el6.remi.x86_64 (remi-php55)
           php-pdo(x86-64) = 5.5.28-1.el6.remi
       Available: php54w-pdo-5.4.44-1.w6.x86_64 (webtatic)
           php-pdo(x86-64) = 5.4.44-1.w6
       Available: php55w-pdo-5.5.28-1.w6.x86_64 (webtatic)
           php-pdo(x86-64) = 5.5.28-1.w6
       Available: php56w-pdo-5.6.12-1.w6.x86_64 (webtatic)
           php-pdo(x86-64) = 5.6.12-1.w6
Error: Package: php-pecl-apc-3.1.9-2.el6.x86_64 (@base)
           Requires: php(api) = 20090626
           Removing: php-common-5.3.3-27.el6.2.x86_64 (@LocalRepo)
               php(api) = 20090626
           Updated By: php-common-5.5.29-1.el6.remi.x86_64 (remi-php55)
               php(api) = 20121113-64
           Available: php-common-5.4.44-1.el6.remi.x86_64 (remi)
               php(api) = 20100412-x86-64
           Available: php-common-5.4.45-1.el6.remi.x86_64 (remi)
               php(api) = 20100412-x86-64
           Available: php-common-5.5.28-1.el6.remi.x86_64 (remi-php55)
               php(api) = 20121113-64
           Available: php54w-common-5.4.44-1.w6.x86_64 (webtatic)
               php(api) = 20100412-64
           Available: php55w-common-5.5.28-1.w6.x86_64 (webtatic)
               php(api) = 20121113-64
           Installing: php56w-common-5.6.12-1.w6.x86_64 (webtatic)
               php(api) = 20131106-64
Error: Package: php-pecl-apc-3.1.9-2.el6.x86_64 (@base)
           Requires: php(zend-abi) = 20090626
           Removing: php-common-5.3.3-27.el6.2.x86_64 (@LocalRepo)
               php(zend-abi) = 20090626
           Updated By: php-common-5.5.29-1.el6.remi.x86_64 (remi-php55)
               php(zend-abi) = 20121212-64
           Available: php-common-5.4.44-1.el6.remi.x86_64 (remi)
               php(zend-abi) = 20100525-x86-64
           Available: php-common-5.4.45-1.el6.remi.x86_64 (remi)
               php(zend-abi) = 20100525-x86-64
           Available: php-common-5.5.28-1.el6.remi.x86_64 (remi-php55)
               php(zend-abi) = 20121212-64
           Available: php54w-common-5.4.44-1.w6.x86_64 (webtatic)
               php(zend-abi) = 20100525-64
           Available: php55w-common-5.5.28-1.w6.x86_64 (webtatic)
               php(zend-abi) = 20121212-64
           Installing: php56w-common-5.6.12-1.w6.x86_64 (webtatic)
               php(zend-abi) = 20131226-64
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Что они означают именно и как их исправить?

У вас есть конфликтующий репозиторий с именем webtatic установлены. Удалите это репо (и все установленные из него пакеты).

Как только это будет сделано, запустите yum distro-sync для синхронизации вашей системы с последними версиями пакетов, которые находятся в репозиториях.

На этом этапе вы можете установить любые дополнительные пакеты, которые вам нужны.

Для PHP 5.5 нет расширения APC, вместо этого вам следует перейти на Zend Opcache.

Я отправляю ответ Webtatic, поскольку являюсь его сопровождающим, и мне не нравится отсутствие закрепления пакетов старых RPM репозитория Remi и новых пакетов SCL. Первый способ прояснил бы и этот вопрос.

Поскольку у вас уже установлено репозиторий Webtatic, вы можете запустить:

yum install yum-plugin-replace
yum replace php-common --replace-with=php55w-common
yum install php55w-opcache

Это также можно решить другим способом, если вы хотите придерживаться репозитория Remi php55:

yum remove php-pecl-apc
yum update php*
yum install php-opcache