Я пытаюсь обновить 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 ) и выполните ручную установку удаленного мной пакета.
Надеюсь, что это поможет вам.