¿Cómo instalo una versión de PHP diferente (actualización o degradación) en la versión de Ubuntu todavía compatible?

226

Estoy tratando de actualizar para instalar PHP 5.5, 5.6 o 7.0 en Ubuntu 12.04 / 14.04 / 16.04 LTS, y solo puedo obtener PHP 5.3.10 para Ubuntu 12.04, PHP 5.5.9 para Ubuntu 14.04 o PHP 7.0.4 para Ubuntu 16.04 usando repositorios oficiales (usando apt-get).

No estoy realmente seguro de cómo hacer una actualización manual, ya que necesito:

  • jugar con las nuevas características de PHP (est)
  • instalar una versión anterior de PHP debido al soporte en el software
kavisiegel
fuente
1
si sudo apt-get upgrade No actualice PHP, intente sudo apt-get dist-upgrade. Para actualización de distribución.
Moiz Kiyani

Respuestas:

292

Puede usar un PPA para mantenerse actualizado con PHP o instalar una versión anterior de PHP (por ejemplo, PHP 5.6 en Ubuntu 16.04 LTS).

Los repositorios más utilizados provienen de Ondřej Surý, el mantenedor de Debian PHP:

  • ppa: ondrej / phpLogotipo de Launchpad (para PHP 5.6 / 7.0 / 7.1 versiones co-instalables, PHP 5.5 ya no es compatible)

Los paquetes de compatibilidad php5:

( Haga clic aquí para obtener instrucciones sobre el uso de PPA ) .

Los PPA de PHP anteriormente contenían la actualización Apache 2.4. Esto ya no es un caso, debe agregar un repositorio Apache 2.4 separado:

Si desea utilizar estos PPA, haga esto:

ppa: ondrej / phpLogotipo de Launchpad (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 cambiar entre versiones instaladas, use

sudo update-alternatives --config php

Luego debe configurar Apache para que funcione con la versión correcta:

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-compatLogotipo de Launchpad (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 

Si no tiene add-apt-repositorybinario, haga lo siguiente:

sudo apt-get install python-software-properties

Precauciones:

PHP 5.4

El último PHP 5.4 preempaquetado ahora reside en un PPA separado: ppa: ondrej / php5-oldstableLogotipo de Launchpad

Tenga en cuenta que PHP 5.4 llegó a su fin el 3 de septiembre de 2015 y no recibe ninguna actualización de seguridad. Se recomienda migrar al menos a PHP 5.6 que recibirá seguridad actualizada hasta el 31 de diciembre de 2018 .

oerdnj
fuente
55
Resulta que tienes que correr sudo apt-get updateprimero!
kavisiegel
3
¡Existe el paquete php5-cli para eso!
Matteosister
11
Después de agregar el ppa, puede hacer: sudo apt-get dist-upgrade
matteosister el
2
Después de instalar el ppa, actualizar php y ejecutar php -v, la información de la versión comienza con este mensaje de error: Error al cargar /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: no se puede abrir compartido archivo de objeto: No existe tal archivo o directorio Molesto.
systemovich
3
Use apt-get install software-properties-commonif apt-get install python-software-propertiesno proporciona el add-apt-repositorycomando.
Meetai.com
3

Los paquetes PHP 5.4 tardarán un tiempo en llegar a Ubuntu, ya que hay muchas pruebas de dependencia que hacer. Ubuntu 12.04 ahora está en versión beta, así que dudo que lo actualicen a PHP 5.4 (aunque no tengo conocimiento oficial o interno de esto), probablemente no aparecerá hasta Ubuntu 12.10 en octubre de este año. Si lo desea antes, tendrá que buscar un paquete de terceros o aprender a construirlo usted mismo a partir del código fuente.

Mike Scott
fuente