Atualização do Cent OS PHP

3

Estou no meio de resolver vários problemas de segurança em um servidor de clientes para torná-los compatíveis com as leis de cartão de crédito e tal.

A primeira ordem de negócio é obter o php de 5.2.14 a 5.2.16.

Quando eu executo o yum update php, esta é a saída que recebo:

Excluding Packages from CentOS-5 - Addons
Finished
Excluding Packages from CentOS-5 - Base
Finished
Excluding Packages from CentOS-5 - Extras
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Setting up Update Process
No Packages marked for Update

Sou relativamente novo no CentOS, mas com o Debian / Ubuntu, você pode adicionar PPAs para permitir novos pacotes de software. Existe algo semelhante para o CentOS? Esta saída faz parecer que está ignorando todos os repositórios do pacote principal também.

    
por gregghz 21.12.2010 / 06:07

1 resposta

6

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ê.

    
por 21.12.2010 / 06:45