У меня установлен 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