O que é uma maneira fácil de atualizar o PHP de 5.2.0 para 5.2.14 no Debian?

1

Eu quero atualizar minha versão do PHP de 5.2.0 para 5.2.14 (ou posterior, mas eu não quero atualizar para o 5.3 ainda por razões de compatibilidade).

Todo guia que eu acho para atualizar o PHP é para atualizar para a última versão disponível, mas eu não encontro uma maneira de atualizar para uma versão específica.

A solução mais fácil e rápida, a melhor.

Seja gentil, eu não sou um especialista em Linux, então por favor: a solução mais fácil e rápida, a melhor.

Obrigado!

    
por ooops 19.01.2011 / 13:17

2 respostas

2

update : Desde que escrevi esta resposta, o Squeeze foi lançado como Debian 6.0. Isto é, deve ser chamado de stable em vez de testing .

Se você quiser descobrir se uma versão específica de um pacote está disponível no Debian, veja a Página de Pacotes e use a função de busca lá. Fazendo uma pesquisa por "php5" dá:

lenny   (stable)   - 5.2.6.dfsg.1-1+lenny9
squeeze (testing)  - 5.3.3-7
sid     (unstable) - 5.3.3-7

Qualquer outra versão do php5 não listada não é suportada (oficialmente), então ao invés de 5.2.14 , eu recomendo que você atualize para o 5.2.6 da lenny. p>

Se você ainda insistir em 5.2.14 eu acho que você deve seguir O conselho de André .

notas :

  • O fato de você ainda estar usando 5.2.0 implica que você provavelmente ainda está usando um lançamento Debian ainda mais antigo, Etch ... não é bom .
  • O Debian oferece um serviço de snapshots se você quiser um software sem suporte que tenha sido empacotado historicamente. Use isso apenas quando estiver realmente desesperado por uma versão específica.
  • Fazer uma pesquisa lá indicou que o seu 5.2.14 nunca foi empacotado no Debian (ou isso ou o serviço de snapshots estava inativo, e ele não foi incluído).
por 20.01.2011 / 12:02
0

Eu sempre recomendo construir a partir do código-fonte e instalar em / usr / local. Você pode executar duas versões lado a lado, desde que se lembre de qual versão está sendo executada.

Você não menciona qual método está usando, mas vamos assumir o Apache com o MODPHP.

Deverá ser um caso simples de ir ao php.museum.net e encontrar a versão que você precisa, então, algo como o seguinte (acima de minha cabeça, sem verificação):

cd /usr/src
wget http://museum.php.net/php5/php-5.2.13.tar.gz
tar -xzvf php-5.2.13.tar.gz
cd php-5.2.13.tar.gz

A próxima linha permitirá que você descubra qual foi o comando de compilação da sua instalação anterior, para que você saiba quais extensões foram ativadas. Como você já está instalado, você não deve ter problemas com dependências.

php -i | grep configure

Recrie a linha de configuração, e as únicas alterações que você precisa fazer são adicionar um novo prefixo

./configure --prefix=/usr/local/php-5.2.13 <rest of configure as above>

, em seguida, make & make install

Então você só precisa editar seu arquivo httpd.conf do apache para apontar para o novo local da libphp5 (apenas pesquise e substitua). Você também achará útil associar simbolicamente o novo local do php a algo que não será alterado quando você fizer upgrade no futuro:

ln -s /usr/local/php-5.2.13 /usr/local/php

Agora, sua versão customizada do php sempre estará em / usr / local / php, pois quando você cria o php-5.3.5, você pode mudar o symlink.

Tudo o que resta é reinstalar quaisquer extensões PECL / PEAR, usando o caminho completo para o binário /usr/local/php/bin/pear install <whatever> e copiando o arquivo php.ini que você está usando atualmente para o novo local /usr/local/php/lib/php.ini

Agora, você não está mais preso à versão empacotada da distribuição do php, pode recompilar conforme necessário para adicionar extensões e não está dependente de terceiros para criar pacotes para você.

É mais do que provável que o pacote do sistema antigo ainda esteja no caminho, você precise lembrar disso e chamar o caminho completo para o novo php ou modificar a seção relevante do caminho do sistema para incluir a nova versão antes do velho.

Andrew

    
por 19.01.2011 / 13:55