Comment installer différentes versions de PHP (mises à niveau ou déclassement) dans la version Ubuntu toujours prise en charge?

226

J'essaie de mettre à jour pour installer PHP 5.5, 5.6 ou 7.0 dans Ubuntu 12.04 / 14.04 / 16.04 LTS, et je ne peux obtenir que PHP 5.3.10 pour Ubuntu 12.04, PHP 5.5.9 pour Ubuntu 14.04 ou PHP 7.0.4 pour Ubuntu 16.04 en utilisant des dépôts officiels (en utilisant apt-get).

Je ne sais pas trop comment faire une mise à jour manuelle - car j'ai besoin de:

  • jouer avec les nouvelles fonctionnalités (est) de PHP
  • installer l'ancienne version de PHP en raison de la prise en charge du logiciel
Kavisiegel
la source
1
si sudo apt-get upgrade N'effectuez pas de mise à niveau de PHP, puis essayez sudo apt-get dist-upgrade. Pour la mise à niveau de la distribution.
Moiz Kiyani

Réponses:

292

Vous pouvez utiliser un PPA pour rester à jour avec PHP ou installer une version précédente de PHP (par exemple, PHP 5.6 sur Ubuntu 16.04 LTS).

Les dépôts les plus utilisés proviennent d’Ondřej Surý, le responsable Debian PHP:

  • ppa: ondrej / phpLogo du tableau de bord (pour les versions co-installables PHP 5.6 / 7.0 / 7.1, PHP 5.5 n'est plus supporté)

Les paquets php5 compat:

( Cliquez ici pour obtenir des instructions sur l’utilisation des AAE. )

Les PPA PHP contenaient auparavant la mise à jour Apache 2.4. Ce n'est plus un cas, vous devez ajouter un référentiel Apache 2.4 distinct:

Si vous souhaitez utiliser ces PPA, procédez comme suit:

ppa: ondrej / phpLogo du tableau de bord (pour 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

Pour basculer entre les versions installées, utilisez

sudo update-alternatives --config php

Ensuite, vous devez configurer Apache pour qu’il fonctionne avec la bonne version:

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-compatLogo du tableau de bord (pour 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 vous n'avez pas de add-apt-repositorybinaire, procédez comme suit:

sudo apt-get install python-software-properties

Précautions:

PHP 5.4

La dernière version préemballée de PHP 5.4 réside maintenant dans un PPA distinct: ppa: ondrej / php5-oldstableLogo du tableau de bord

Veuillez noter que PHP 5.4 est arrivé en fin de vie le 3 septembre 2015 et qu'il ne reçoit aucune mise à jour de sécurité. Il est recommandé de migrer vers au moins PHP 5.6 qui bénéficiera d'une sécurité actualisée jusqu'au 31 décembre 2018 .

utilisateurs
la source
5
Il s'avère que tu dois courir en sudo apt-get updatepremier!
kavisiegel
3
il y a le paquet php5-cli pour ça!
Matteosister
11
Après avoir ajouté le ppa, vous pourriez faire: sudo apt-get dist-upgrade
matteosister le
2
Après l'installation du ppa, la mise à niveau de php et l'exécution php -v, les informations de version commencent par le message d'erreur suivant: Echec du chargement /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: impossible d'ouvrir en partage fichier objet: Aucun fichier ou répertoire Annoying.
systemovich
3
Utilisez apt-get install software-properties-commonsi apt-get install python-software-propertiesne fournit pas la add-apt-repositorycommande.
Meetai.com
3

Il faudra un peu de temps pour que les paquets PHP 5.4 fassent leur chemin dans Ubuntu, car il y a énormément de vérifications de dépendance à effectuer. Ubuntu 12.04 étant maintenant en version bêta, je doute qu'ils le mettent à niveau en PHP 5.4 (bien que je n’aie aucune connaissance officielle ou interne à ce sujet). Il n’apparaîtra probablement pas avant Ubuntu 12.10 en octobre de cette année. Si vous le souhaitez plus tôt que cela, vous devrez soit trouver un package tiers, soit apprendre à le construire vous-même à partir du code source.

Mike Scott
la source