Question Comment installer une version de PHP différente (mise à niveau ou rétrogradation) dans la version Ubuntu toujours prise en charge?


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 utiliser des dépôts officiels (en utilisant apt-get).

Je ne suis pas vraiment sûr de savoir comment faire une mise à jour manuelle - selon mes besoins:

  • jouer avec les nouvelles fonctionnalités de PHP
  • installer une version antérieure de PHP avec le support du logiciel

224
2018-03-02 14:45


origine


Si sudo apt-get upgrade Ne mettez pas à jour PHP, essayez sudo apt-get dist-upgrade. Pour la mise à niveau de la distribution. - Moiz Kiyani


Réponses:


Vous pouvez utiliser un PPA pour rester à jour avec PHP ou installer la 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 de Ondřej Surý, le responsable PHP de Debian:

  • ppa: ondrej / php Launchpad logo (pour les versions co-installables avec PHP 5.6 / 7.0 / 7.1, PHP 5.5 n'est plus supporté)

Les paquets php5 compat:

  • ppa: ondrej / php5-compat Launchpad logo (pour le mannequin php5 pour satisfaire les dépendances dans les anciens paquets)

(Cliquez ici pour obtenir des instructions sur l'utilisation des PPA.)

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

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

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

ppa: ondrej / php Launchpad logo (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 définir Apache pour fonctionner 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-compat Launchpad logo (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 add-apt-repository binaire:

sudo apt-get install python-software-properties

Précautions:

PHP 5.4

Le dernier PHP 5.4 préemballé se trouve maintenant dans un PPA séparé: ppa: ondrej / php5-oldstable Launchpad logo

Sachez que PHP 5.4 est en fin de vie 3. septembre 2015 et il ne reçoit aucune mise à jour de sécurité. Il est recommandé de migrer vers au moins PHP 5.6 qui recevra la sécurité mise à jour jusqu'au 31. décembre 2018.


288
2018-03-02 14:58



Il se trouve que tu dois courir sudo apt-get update premier! - kavisiegel
il y a le paquet php5-cli pour ça! - matteosister
Après avoir ajouté le ppa, vous pouvez faire: sudo apt-get dist-upgrade - matteosister
Après l'installation du ppa, mise à niveau de PHP et exécution php -v, les informations de version commencent par ce message d'erreur: Échec du chargement de /usr/lib/php5/20090626/xdebug.so: /usr/lib/php5/20090626/xdebug.so: impossible d'ouvrir le fichier objet partagé: aucun fichier ou répertoire de ce typeEnnuyeux. - systemovich
Utilisation apt-get install software-properties-common si apt-get install python-software-properties ne fournit pas le add-apt-repository commander. - Meetai.com


Il faudra un certain temps pour que les paquets PHP 5.4 pénètrent dans Ubuntu, car il y a énormément de vérifications de dépendance à effectuer. Ubuntu 12.04 est maintenant en version bêta, donc je doute qu'ils le mettent à niveau vers PHP 5.4 (bien que je n’aie aucune connaissance officielle à ce sujet) - il ne sera probablement pas disponible jusqu’à Ubuntu 12.10 en octobre de cette année. Si vous le souhaitez plus tôt, vous devrez trouver un package tiers ou apprendre à le créer vous-même à partir du code source.


3