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

Обновление PHP с 5.1 до 5.2 в CentOS 5.4

Я пытаюсь обновить php 5.1 до 5.2 на CentOS 5.4

Я использую:

yum upgrade php

Результат такой (посмотрите последнюю часть):

[root@mail httpd]# yum update php
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirror.raystedman.net
 * base: mirrors.serveraxis.net
 * centosplus: mirrors.tummy.com
 * contrib: mirror.raystedman.net
 * extras: mirror.raystedman.net
 * updates: mirrors.netdna.com
Setting up Update Process
Resolving Dependencies
--> Running transaction check
--> Processing Dependency: php = 5.1.6-27.el5 for package: php-devel
--> Processing Dependency: php = 5.1.6 for package: php-eaccelerator
---> Package php.x86_64 0:5.2.10-1.el5.centos set to be updated
--> Processing Dependency: php-cli = 5.2.10-1.el5.centos for package: php
--> Processing Dependency: php-common = 5.2.10-1.el5.centos for package: php
--> Running transaction check
--> Processing Dependency: php = 5.1.6 for package: php-eaccelerator
---> Package php-cli.x86_64 0:5.2.10-1.el5.centos set to be updated
--> Processing Dependency: php-common = 5.1.6-27.el5 for package: php-xml
--> Processing Dependency: php-common = 5.1.6-27.el5 for package: php-pdo
--> Processing Dependency: php-common = 5.1.6-27.el5 for package: php-gd
--> Processing Dependency: php-common = 5.1.6-27.el5 for package: php-ldap
--> Processing Dependency: php-common = 5.1.6-27.el5 for package: php-mbstring
--> Processing Dependency: php-common = 5.1.6-27.el5 for package: php-mysql
--> Processing Dependency: php-common = 5.1.6-27.el5 for package: php-imap
---> Package php-common.x86_64 0:5.2.10-1.el5.centos set to be updated
---> Package php-devel.x86_64 0:5.2.10-1.el5.centos set to be updated
--> Running transaction check
--> Processing Dependency: php = 5.1.6 for package: php-eaccelerator
---> Package php-gd.x86_64 0:5.2.10-1.el5.centos set to be updated
---> Package php-imap.x86_64 0:5.2.10-1.el5.centos set to be updated
---> Package php-ldap.x86_64 0:5.2.10-1.el5.centos set to be updated
---> Package php-mbstring.x86_64 0:5.2.10-1.el5.centos set to be updated
---> Package php-mysql.x86_64 0:5.2.10-1.el5.centos set to be updated
---> Package php-pdo.x86_64 0:5.2.10-1.el5.centos set to be updated
---> Package php-xml.x86_64 0:5.2.10-1.el5.centos set to be updated
--> Finished Dependency Resolution
php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64 from installed has depsolving problems
  --> Missing Dependency: php = 5.1.6 is needed by package php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64 (installed)
Error: Missing Dependency: php = 5.1.6 is needed by package php-eaccelerator-5.1.6_0.9.5.2-4.el5.rf.x86_64 (installed)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
[root@mail httpd]# 

Каковы последствия использования --skip-broken? Есть рекомендации?

Ваша версия php-eaccelerator привязана к вашей текущей версии PHP. Обычно это обновляется автоматически, но я предполагаю, что этот пакет был либо установлен вручную без использования репозитория, либо в репозитории просто нет версии, которая будет работать с более новым PHP, который вы хотите установить.

Если вы пропустите -exclude php-eaccelerator или пропустите -exclude, PHP обновится, но этот модуль, скорее всего, не будет работать.

Это может быть прекрасно, если вы сможете найти новую версию php-eaccelerator для отдельной установки впоследствии.

Удалите PHP по умолчанию с помощью yum remove php. Затем вы можете выполнить обновление до PHP 5.3.x с помощью

ням обновить php53

Эта опция стала доступна, когда Centos 5.6. был выпущен. (в апреле 2011г.)

Мы все "разочарованы" php по умолчанию для RHEL / Centos (5.1.6). Также хорошая идея - использовать дополнительные репозитории для обновлений php / mysql (например, Remi, Utter Ramblings, EPEL, CentOS ALT и т. Д.) ...

С уважением

Параметр --skip-broken исключит пакет, вызвавший ошибку. Итак, если в вашем случае пакет, который получил неудачную зависимость, - это php. так что это будет исключено.

Когда я сталкиваюсь с этой проблемой, обычно я удаляю пакет dependencie (который не может быть обновлен или уже установлен), затем немного yum clean-all и обновляю / устанавливаю то, что хочу. Если все прошло хорошо, смотрю на сайте rpm депозита (те: pkgs, об / мин pbone, rpmfind ) и выполните ручную установку удаленного мной пакета.

Надеюсь, что это поможет вам.