Como fazer o downgrade do PHP 5.4 para 5.3

18

Recentemente, atualizei o PHP para a versão 5.4, mas parece estar falhando porque a APC não está trabalhando com ela; no entanto, isso não me deu outra opção a não ser fazer o downgrade para a versão 5.3, como posso fazer isso?

I executado apt-get remove php5e apt-get purge php5, em seguida, eu removi o repo 5.4 de apt-get então executado apt-get install php5, ele diz que estava instalando 5.3, e eu reiniciado php-fastcgie php5-fpmmas quando eu executo php -vele diz 5.4.

Como posso fazer o downgrade de 5.4 para 5.3?

Meu servidor está executando o Ubuntu 11.04.

MacMac
fonte

Respostas:

11

Fazendo o downgrade do PHP 5.4 para 5.3

No processo de downgrade do Ubuntu, é realmente uma bagunça. Aqui está o script que você pode achar útil ( ele remove o PHP 5.4 e instala o PHP 5.3 ):

sudo apt-get remove --purge `dpkg -l | grep php | grep -w 5.4 | awk '{print $2}' | xargs`
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php5=5.3.10-1ubuntu3.4 php5-cli=5.3.10-1ubuntu3.4 php5-common=5.3.10-1ubuntu3.4 libapache2-mod-php5=5.3.10-1ubuntu3.4
sudo apt-get install php-pear=5.3.10-1ubuntu3.4 php5-curl=5.3.10-1ubuntu3.4 php5-gd=5.3.10-1ubuntu3.4 php5-intl=5.3.10-1ubuntu3.4 php5-mysql=5.3.10-1ubuntu3.4 php5-pspell=5.3.10-1ubuntu3.4 php5-recode=5.3.10-1ubuntu3.4 php5-snmp=5.3.10-1ubuntu3.4 php5-sqlite=5.3.10-1ubuntu3.4 php5-tidy=5.3.10-1ubuntu3.4 php5-xmlrpc=5.3.10-1ubuntu3.4 php5-xsl=5.3.10-1ubuntu3.4

Onde as versões disponíveis você pode verificar por comando: apt-cache showpkg php5

Após a instalação, verifique-o por comando: php --version

Por favor, tenha cuidado e não instale nenhum outro pacote sem a versão do pacote especificada (como php5-xcache), caso contrário o apt-get substituirá sua instância do PHP por 5.4 novamente!

Para evitar que isso aconteça, você pode manter esses pacotes.

Retendo pacotes usando o dpkg

Para manter pacotes pelo dpkg, você pode executar o seguinte comando:

echo "php5 hold" | sudo dpkg --set-selections

Para armazenar todos os pacotes PHP, execute o seguinte comando:

dpkg --get-selections | grep ^php5 | sed s/install/hold/g | sudo dpkg --set-selections

O comando a seguir mostrará o status dos seus pacotes php:

sudo dpkg --get-selections | grep ^php

Mantendo pacotes usando o aptitude

Você também pode armazenar pacotes usando o aptitude, por exemplo:

sudo aptitude hold php5

Retirar:

sudo aptitude unhold php5
kenorb
fonte
3
No Ubuntu 13.x 5.3.10-1ubuntu3.4 não existe mais.
Kenorb #
Como desfazer o que está em sua resposta?
21414 tololap
Você quer dizer voltar ao PHP 5.4 ou recuperar arquivos de configuração? Os arquivos de configuração devem ser mantidos como estão (nenhuma configuração pessoal deve ser removida). Se você gostaria de voltar ao PHP 5.4, desfaça para desmarcar os pacotes que você possui e reinstale o php5 novamente, por exemplo, sudo apt-get install php5com a reinstalação ou remoção / instalação.
kenorb
4

Primeira execução apt-cache showpkg php5 . Lá você verá a versão e outras informações sobre o pacote php5.

Para instalar uma versão específica, execute apt-get install <package name>=<version>

No meu Ubuntu 11.10 seria apt-get install php5=5.3.6-13ubuntu3.6

Luís Bianchin
fonte
6
E se apt-cache showpkg php5não aparecer mais o 5.3.x?
Kenorb #
2

Eu tive um problema parecido.

Eu removi os repositórios.

Você deve se lembrar de que php -vexecuta o executável no php-clipacote, assim também é necessário removê-lo.

Então, fiz o seguinte para voltar à versão 5.3.10:

sudo apt-get remove php5-cli php5 php5-common
sudo apt-get install php5 php5-mysql php5-curl

Agora isso deve mostrar a versão desejada:

php -v
Javed dinamarquês
fonte
Ele instala a versão 5.6 mais recente para mim.
JohnnyQ
2

Talvez este guia o ajude: Como fazer o downgrade de um pacote no Ubuntu

Portanto, para baixar e instalar qualquer pacote de qualquer versão disponível, você deve fazer o seguinte:

sudo apt-get install Package=Version
rɑːdʒɑ
fonte
1

das etapas descritas, você esqueceu de atualizar o apt-get após remover o php5.4 e remover o repositório php5.4.

assumindo que você não possui mais o repositório em fontes apt, se você executar:

apt-get remove --purge php5 && apt-get update && apt-get install php5

você deve voltar ao 5.3

nathwill
fonte
No Ubuntu 13.x, por padrão PHP5 está apontando para 5.4.x
kenorb