Atualizando o PHP no Linux - “Nenhum pacote marcado para atualização”?

1

Observação : Eu tenho um aplicativo que requer o 5.2, mas meu servidor atualmente executa o 5.1.6.

Sou muito novo na administração de servidores, mas estava pensando que a tarefa de atualizar o PHP para 5.2+ deveria ser relativamente simples. On-line, descobri que o que se segue era supostamente suficiente para fazer isso:

yum update php

Mas quando eu executo isso, o seguinte é a saída:

[root@ip-XXX-XXX-XXX-XXX /]# php -v
PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
[root@ip-XXX-XXX-XXX-XXX /]# yum update php
Loaded plugins: fastestmirror
Determining fastest mirrors
 * addons: p3plmirror02.prod.phx3.secureserver.net
 * base: p3plmirror02.prod.phx3.secureserver.net
 * extras: p3plmirror02.prod.phx3.secureserver.net
 * turbopanel-base: p3plmirror02.prod.phx3.secureserver.net
 * turbopanel-centos5: p3plmirror02.prod.phx3.secureserver.net
 * update: p3plmirror02.prod.phx3.secureserver.net
addons                       |  951 B     00:00
addons/primary               |  201 B     00:00
base                         | 2.1 kB     00:00
base/primary_db              | 1.6 MB     00:00
extras                       | 1.1 kB     00:00
extras/primary               | 107 kB     00:00
extras                         325/325
turbopanel-base              |  951 B     00:00
turbopanel-base/primary      |  72 kB     00:00
turbopanel-base                494/494
turbopanel-centos5           |  951 B     00:00
turbopanel-centos5/primary   | 2.1 kB     00:00
turbopanel-centos5             8/8
update                       | 1.9 kB     00:00
update/primary_db            | 463 kB     00:00
Setting up Update Process
No Packages marked for Update
[root@ip-XXX-XXX-XXX-XXX /]# php -v
PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technolog
[root@ip-XXX-XXX-XXX-XXX /]# No Packages marked for Update
[root@ip-XXX-XXX-XXX-XXX /]# php -v
bash: No: command not found
[root@ip-XXX-XXX-XXX-XXX /]# [root@ip-XXX-XXX-XXX-XXX /]# php -v
bash: [root@ip-XXX-XXX-XXX-XXX: command not found
[root@ip-XXX-XXX-XXX-XXX /]# PHP 5.1.6 (cli) (built: Jan 13 2010 17:13:05)
bash: syntax error near unexpected token '('
[root@ip-XXX-XXX-XXX-XXX /]# Copyright (c) 1997-2006 The PHP Group
bash: syntax error near unexpected token 'c'
[root@ip-XXX-XXX-XXX-XXX /]# Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
bash: syntax error near unexpected token '('
[root@ip-XXX-XXX-XXX-XXX /]#

Minha versão do PHP é 5.1.6 antes e depois de executar o comando. Estou sendo muito ingênuo com este processo de atualização? Existe uma rota mais detalhada que é necessária para mim?

    
por Aristotle 24.05.2010 / 18:05

2 respostas

3

Você está tentando atualizar o pacote fornecido pela distribuição. Frequentemente, as distribuições não alteram a versão, mas as correções de segurança do backport, o que é feito para manter um ambiente mais estável. Como grandes alterações de revisão podem afetar a operação do software, elas normalmente só serão feitas entre as principais revisões da distribuição.

Se você deseja executar o PHP mais recente, provavelmente precisará criar seu próprio pacote, localizar um pacote de terceiros ou compilar a partir do código-fonte, criando seu próprio padrão de construção.

Com base na saída fornecida, é razoável assumir que você está executando a versão mais recente do PHP disponível para a distribuição atual que está sendo executada.

Parece que o wiki do CentOS tem um passo a passo para atualizar para o 5.2 usando o repositório de desenvolvimento.

    
por 24.05.2010 / 18:10
0

Não, você não está fazendo nada errado, é apenas que o 5.1.6 é o último pacote disponível - pelo menos nos repositórios do CentOS. Você pode fazer um yum info php para obter informações mais detalhadas, incluindo qual número de versão está nos repositórios.

    
por 24.05.2010 / 18:11