Как мне обновить php на centOS?

У меня установлен php 5.1.6 на сервере centOS, и мне нужен как минимум 5.3.2 (но лучше установить последнюю доступную версию 5.*).

Если я бегу

yum update php

он говорит, что будет обновляться до 5.1.6-34.el5_8 (у меня это 5.1.6-27.el5_5.3)..... какого черта????

Существуют ли доступные пакеты для centOS THAT за текущей версией, или это потому, что по умолчанию yum будет обновляться только в рамках подрывной деятельности после второй точки (или чего-то еще), и мне нужно сообщить это, чтобы дать мне более свежую версию? Если да, то как мне это сделать?

4 ответа

Скорее всего, вы используете старую версию Centos (5.5 или даже более раннюю), в которой нет репозиториев PHP 5.2.x или 5.3.x. У вас есть 2 варианта: обновить Centos до более новой версии (5.6 - первая с PHP 5.3) или использовать http://iuscommunity.org/About

Да, насколько я помню, получение новой версии php на CentOs 5.x было очень болезненным.

В основном, в репозиториях обновлений есть пакет php53;

# cat /etc/redhat-release 
CentOS release 5.8 (Final)

# repoquery -i php53

Name        : php53
Version     : 5.3.3
Release     : 7.el5_8
Repository  : updates

но если вы запустите что-то подобное;

 # yum provides php
php-5.1.6-32.el5.x86_64 : The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)
php-5.1.6-34.el5_8.x86_64 : The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)

вы увидите, что php53 пакет на самом деле не предоставляет php, что означает, что при его установке будут нарушены все пакеты, которые зависят от php, несмотря на наличие php в системе.

В конце я использовал shim rpm, который содержал только одну строку обеспечить, которую я нашел где-то в Интернете, потому что все мои требования к php были просты.

Альтернативы, такие как @ c2h5oh, упоминаются для использования сторонней перепакованной версии (или для обновления до Centos 6.2:-<).

Вы можете увидеть, что заменяет все php с php53 сломается следующей командой;

# rpm --whatrequires -V php
Unsatisfied dependencies for pastebin-0.60-4.el5.noarch: php

Из результатов этой последней команды видно, что в моем случае я не использовал пакеты, требующие php это было важно, так что я просто использовал --nodeps заставить удалить весь php.

Ты можешь использовать yum shell выполнить remove (из php-*) а также install (из php53-*) операции в одной транзакции.

Использование yum update, затем yum upgrade обновить CentOS до 5.8, затем повторите попытку yum update php

Другие вопросы по тегам