Eu gostaria de ter visto essa pergunta quando foi perguntada. Você deve ser muito seletivo sobre quais repositórios de terceiros você instalou os pacotes. Muitos não seguem as práticas recomendadas de empacotamento e a maioria não garante nomes de pacotes não conflitantes. Você pode facilmente fazer uma bagunça gigante do seu sistema. Dei a seguinte resposta em resposta a esta pergunta mais recente .
Eu sugiro usar os repositórios IUS Community Project para atualizar seus pacotes PHP 5.2, e até mesmo PHP 5.3 no CentOS 5. Estes são um conjunto de pacotes muito bem mantidos e de alta qualidade, usados pelo Rackspace e mantidos, mas não suportados por eles (a menos que você seja um cliente, é claro).
As instruções de instalação podem ser um pouco difíceis de encontrar se você for novo nisso. Você está procurando pelo guia de uso do cliente em seu wiki. Eu vou duplicar as instruções aqui para facilidade de uso.
[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/ius-release-1.0-6.ius.el5.noarch.rpm
[root@linuxbox ~]# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
[root@linuxbox ~]# rpm -Uvh ius-release*.rpm epel-release*.rpm
Isto faz o download e instala tanto o EPEL como o IOS repos para você.
O IUS promete não usar nomes de pacotes conflitantes em nenhum dos repositórios oficiais, incluindo EPEL (isso é ótimo), as coisas não são tão simples quanto yum upgrade php
. Você precisará primeiro desinstalar todos os seus pacotes PHP existentes e instalar os apropriados do IUS. Como alternativa, você pode usar o plug-in yum-plugin-replace
para adicionar um recurso "replace" útil ao YUM.
manualmente
Primeiro:
[root@linuxbox ~]# rpm -qa | grep php
[root@linuxbox ~]# yum erase php
-
rpm -qa | grep php
lista cada pacote PHP instalado. Você usará essa lista para instalar todos os pacotes PHP individuais apropriados do IUS
-
O comando
yum erase php
apenas apaga o PHP e seus pacotes dependentes
Finalmente:
[root@linuxbox ~]# yum search php52
[root@linuxbox ~]# yum install php52 php52-common php52-pecl-apc php52-mysql ...
-
yum search php52
lista os pacotes disponíveis do PHP 5.2
-
yum install
instala seus pacotes PHP 5.2 escolhidos. Você usaria a lista obtida na etapa um para determinar o que precisava
yum-plugin-replace
[root@linuxbox ~]# yum install yum-plugin-replace
[root@linuxbox ~]# yum replace php --replace-with php52
Isso magicamente determinará quais pacotes PHP serão apagados e quais pacotes php52 correspondentes deverão ser instalados para você.