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

как мне обновить 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 НАСТОЛЬКО отстают от текущей версии, или это потому, что yum по умолчанию будет обновляться только в subversion после второй точки (или чего-то еще), и мне нужно сообщить ему, чтобы он предоставил мне более свежую версию? Если да, то как мне это сделать?

Скорее всего, вы используете старую версию 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.

В конце концов, я использовал оболочку оболочки 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