como faço para atualizar o php no centOS?

2

Eu tenho o php 5.1.6 instalado em um servidor centOS, e eu preciso de pelo menos 5.3.2 (mas prefiro instalar a versão 5. * mais recente disponível).

Se eu correr

yum update php

ele diz que vai atualizar para 5.1.6-34.el5_8 (o meu é 5.1.6-27.el5_5.3) ..... o que diabos ????

Os pacotes disponíveis para centOS são muito para trás da versão atual, ou é porque yum irá, por padrão, atualizar apenas dentro da subversão após o segundo ponto (ou algo assim) e eu preciso dizer para me dar uma versão mais recente ? Se sim, como faço isso?

    
por matteo 16.06.2012 / 14:06

4 respostas

6

Você provavelmente está executando uma versão antiga do Centos (5.5 ou até anterior), que não possui o PHP 5.2.x ou 5.3.x no repositório. Você tem duas opções: atualizar o Centos para uma versão mais recente (5.6 é a primeira com o PHP 5.3) ou usar o link

    
por 16.06.2012 / 14:15
4

Sim, se bem me lembro, ter uma versão mais nova do php no CentOs 5.x foi muito doloroso.

Basicamente, há um pacote php53 nos repositórios de atualizações;

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

# repoquery -i php53

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

mas se você tiver algo assim:

 # 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)

você verá que php53 package não fornece php, o que significa que instalá-lo irá quebrar qualquer pacote que dependa de php , apesar de existir um php no sistema.

No final, eu usei um shim rpm que continha apenas um único fornece linha, que encontrei em algum lugar na web, porque todos os meus requisitos de php eram simples.

As alternativas são como @ c2h5oh mencionadas, para usar uma versão re-empacotada de terceiros (ou para atualizar para o Centos 6.2: - <).

Você pode ver o que a substituição de todo o php por php53 violará com o seguinte comando;

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

Você pode ver na saída desse último comando, que no meu caso eu não estava usando nenhum pacote que requer php que era importante, então eu usei --nodeps para forçar a remoção de todo o php. / p>     

por 16.06.2012 / 14:33
1

Você pode usar yum shell para executar as operações remove (de php-* ) e install (de php53-* ) na mesma transação.

    
por 16.06.2012 / 17:25
0

Use yum update , depois yum upgrade para atualizar o CentOS para 5.8 e, em seguida, tente novamente yum update php

    
por 21.06.2012 / 21:03