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

Обновление PHP - Отсутствует зависимость php = 5.1.6 требуется для пакета php-eaccelerator

Я пытаюсь обновить php с 5.1.6 к 5.2.1. При вызове ням обновить php я получаю это сообщение:

-> Завершенное разрешение зависимостей php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64 из установленного имеет проблемы с устранением

-> Отсутствует зависимость: php = 5.1.6 требуется для пакета php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64 (установлен) Ошибка: отсутствует зависимость: php = 5.1.6 требуется для package php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64 (установлен) Вы можете попробовать использовать --skip-broken, чтобы обойти проблему Вы можете попробовать запустить: package-cleanup --problems package- очистка --dupes rpm -Va --nofiles --nodigest

Программа package-cleanup находится в пакете yum-utils.

Сообщение содержит инструкции, но я действительно не знаю, что делать дальше. Это рабочий сервер, и он не может отключаться более 1 минуты.

Спасибо за любые идеи.

Мне нужен только PHP 5.2.1 для новой функции json_decode (). Я добавил это, и в обновлении больше не было необходимости: http://snipplr.com/view/4964/emulate-php-5-for-backwards-compatibility/

В репозитории RPMforge нет версии php-eaccelerator, созданной для php 5.2.1.

Фактически 5.1.6 - последняя версия. Видеть http://packages.sw.be/php-eaccelerator/

Ваши варианты:

  1. Не обновляйте php.
  2. Попробуйте пересобрать RPM php-eaccelerator на php 5.2.1. Если вам неудобно редактировать файлы спецификаций rpm и компилировать из исходников, не пытайтесь это сделать.
  3. Найдите RPM php-eaccelerator, созданный для php 5.2.1 http://www.atoomnet.net/centos_updated_php.php может работать, но я не могу подтвердить его качество.

Общие вопросы:

  • Почему вы переходите на не самую последнюю версию php (далеко не последнюю)? Это последняя версия репозитория CentOS / RHEL?
  • Почему ваша среда спроектирована таким образом, что этот сервер не может отключаться более 1 минуты? Это плохо.

Для PHP 5.1 расширение json доступно через pecl. Нет необходимости обновлять PHP только для этого (хотя сейчас и PHP 5.1, и 5.2 - это конец строки)

Вам необходимо установить как php-devel, так и php-pear:

yum install php-devel php-pear

затем:

pecl install json
echo "extension=json.so" > /etc/php.d/json.ini

Однако, поскольку вы уже обновили PHP, проще всего скомпилировать eAccelerator самостоятельно (он недоступен через pecl):

http://eaccelerator.net/wiki/InstallFromSource

или переключитесь на репозиторий, который предоставляет eAccelerator rpm для установленной версии PHP. Я предоставляю eaccelerator для PHP 5.3, а также сам PHP 5.3, если он вам нужен. Однако я не поставляю eaccelerator для PHP 5.2.

http://www.webtatic.com/blog/2009/06/php-530-on-centos-5/

затем

yum install php-eaccelerator --enablerepo=webtatic