Questão Como faço para instalar uma versão diferente do PHP (upgrade ou downgrade) no Ubuntu?


Eu estou tentando atualizar para instalar o PHP 5.5, 5.6 ou 7.0 no Ubuntu 12.04 / 14.04 / 16.04 LTS, e eu só posso obter o PHP 5.3.10 para o Ubuntu 12.04, PHP 5.5.9 para o Ubuntu 14.04 ou PHP 7.0.4 para o Ubuntu 16.04 usando repositórios oficiais (usando o apt-get).

Não tenho certeza de como fazer uma atualização manual - conforme necessário:

  • para brincar com os novos recursos do PHP (est)
  • para instalar a versão mais antiga do PHP devido ao suporte no software

224
2018-03-02 14:45


origem


if sudo apt-get upgrade Não atualize o PHP e tente o sudo apt-get dist-upgrade. Para atualização de distribuição. - Moiz Kiyani


Respostas:


Você poderia usar um PPA para manter-se atualizado com o PHP ou instalar a versão anterior do PHP (por exemplo, PHP 5.6 no Ubuntu 16.04 LTS).

Os repositórios mais utilizados vêm de Ondřej Surý, o mantenedor PHP do Debian:

  • ppa: ondrej / php Launchpad logo (para versões co-instaláveis ​​do PHP 5.6 / 7.0 / 7.1, o PHP 5.5 não é mais suportado)

Os pacotes do php5 compat:

  • ppa: ondrej / php5-compat Launchpad logo (para manequim php5 para satisfazer dependências nos pacotes antigos)

(Clique aqui para instruções sobre o uso de PPAs.)

PPAs PHP continham anteriormente a atualização do Apache 2.4. Este não é mais um caso, você precisa adicionar um repositório Apache 2.4 separado:

  • ppa: ondrej / apache2 Launchpad logo (para o Apache 2.4)

Se você quiser usar esses PPAs, faça o seguinte:

ppa: ondrej / php Launchpad logo (para PHP 5.6 / 7.0 / 7.1)

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php7.1   # for PHP 7.1
sudo apt-get install php7.0   # for PHP 7.0
sudo apt-get install php5.6   # for PHP 5.6

Para alternar entre versões instaladas use

sudo update-alternatives --config php

Então você deve configurar o Apache para funcionar com a versão correta:

sudo a2dismod php7.1         # unload the current version
sudo a2enmod  php5.6         # load the version you need
sudo service apache2 restart # restart webserver to apply

ppa: ondrej / php5-compat Launchpad logo (para php5 compat)

sudo add-apt-repository ppa:ondrej/php
sudo add-apt-repository ppa:ondrej/php5-compat
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install php5 # this will pull php5.6 package 

Se você não tem add-apt-repository binário faça o seguinte:

sudo apt-get install python-software-properties

Precauções:

PHP 5.4

O mais recente PHP 5.4 pré-empacotado agora reside em PPA separado: ppa: ondrej / php5-oldstable Launchpad logo

Por favor, esteja ciente de que o PHP 5.4 chegou ao fim da sua vida em 3 de setembro de 2015 e não recebe atualizações de segurança. É recomendado migrar para pelo menos PHP 5.6 que receberá segurança atualizada até 31. dezembro de 2018.


288
2018-03-02 14:58



Acontece que você tem que correr sudo apt-get update primeiro! - kavisiegel
existe o pacote php5-cli para isso! - matteosister
Depois de adicionar o ppa, você poderia fazer: sudo apt-get dist-upgrade - matteosister
Depois de instalar o ppa, atualizando o php e executando php -v, as informações da versão começam com esta mensagem de erro: Falha ao carregar /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: não é possível abrir o arquivo de objeto compartilhado: Nenhum arquivo ou diretórioIrritante. - systemovich
Usar apt-get install software-properties-common E se apt-get install python-software-properties não fornece o add-apt-repository comando. - Meetai.com


Levará algum tempo para os pacotes PHP 5.4 entrarem no Ubuntu, já que há muitas verificações de dependência para fazer. O Ubuntu 12.04 está agora em beta, então eu duvido que eles o atualizem para o PHP 5.4 (embora eu não tenha nenhum conhecimento oficial ou interno disso) - provavelmente ele não aparecerá até o Ubuntu 12.10 em outubro deste ano. Se você quiser mais cedo, terá que encontrar um pacote de terceiros ou aprender a criá-lo pelo código-fonte.


3