Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision Les deux révisions suivantes
php [Le 02/06/2022, 07:03]
78.196.241.242 [Code source visible dans le navigateur] maj 22.04
php [Le 02/06/2022, 13:30]
134.214.206.249 PhpBrew pour plusieurs version PHP
Ligne 30: Ligne 30:
  
 ==== Ajout d'une autre version de PHP ==== ==== Ajout d'une autre version de PHP ====
-<note warning>​Cela peut engendrer des conflits, cf [[#​conflits_potentiels_entre_plusieurs_versions_de_php]] </​note>​ +Il peut-être utile de disposer de plusieurs ​version de PHP sur une machine de développement ​(sur un serveur aussi… mais on aura plutôt recourt à [[:​docker]]), par exemple pour travailler tantôt avec une application ancienne avec un framework ou un CMS nécessitant un php7.2 par exemple, et tantôt avec la dernière version (php8.1 par exemple) pour démarrer ou mettre à niveau un développement.
-Si c'est à proscrire sur un serveur en production ou même un serveur LAMP de développement,​ il peut-être utile d'​installer ​plusieurs ​versions ​sur une machine de développement,​ par exemple pour travailler tantôt avec une application ancienne avec un framework ou un CMS nécessitant un php7.2 par exemple, et tantôt avec la dernière version (php8.1 par exemple) pour démarrer ou mettre à niveau un développement. +
-<code bash> +
-# vérification de la version actuelle: +
-$ php -v +
-PHP 7.4.29-0ubuntu0.18.04.1 (cli) ( NTS )+
  
-# ajout du dépôt, puis installation de php et de ses modules +La bonne pratique pour faire cela est d'​utiliser [[https://phpbrew.github.io/​phpbrew/​|PHPBrew]]Un trés bon tutoriel est accessible sur [[https://​grafikart.fr/​tutoriels/​phpbrew-multiple-php-versions-1097|grafikart ​tuto phpbrew]]
-sudo add-apt-repository ppa:ondrej/php +
-sudo apt update +
-sudo apt install php8.1-cli php8.1-dev php8.1-fpm php8.1-curl php8.1-gd php8.1-mysql php8.1-mbstring ​php-gettext php8.1-zip php8.1-xmlrpc php8.1-xml php8.1-intl php8.1-bz2 php8.1-json php8.1-pspell php8.1-tidy php-pear mcrypt +
- +
-# vérification de la version installée:​ +
-$ php -v +
-PHP 8.1.6 (cli) (built: May 17 2022 16:47:53) (NTS) +
-</​code>​ +
- +
-Le basculement entre ces versions ​peut se faire par la commande : +
-<code bash> +
-sudo update-alternatives ​--config php +
-</​code>​+
  
 ===== Modules ===== ===== Modules =====
Ligne 129: Ligne 111:
  
 Pour le [[:​apache2#​mod_php|module PHP d'​Apache]],​ le chemin d'​accès au fichier ''​php.ini''​ sera généralement : Pour le [[:​apache2#​mod_php|module PHP d'​Apache]],​ le chemin d'​accès au fichier ''​php.ini''​ sera généralement :
-  * sous [[:Trusty]] (Ubuntu 14.04) : **/​etc/​php5/​apache2/​php.ini**\\ 
   * sous [[:Xenial]] (Ubuntu 16.04) : **/​etc/​php/​7.0/​apache2/​php.ini**   * sous [[:Xenial]] (Ubuntu 16.04) : **/​etc/​php/​7.0/​apache2/​php.ini**
   * sous [[:Bionic]] (Ubuntu 18.04) : **/​etc/​php/​7.2/​apache2/​php.ini**   * sous [[:Bionic]] (Ubuntu 18.04) : **/​etc/​php/​7.2/​apache2/​php.ini**
Ligne 226: Ligne 207:
 Vous pouvez vérifier cela avec cette commande : Vous pouvez vérifier cela avec cette commande :
 <​code>​apt list \*php\* --installed</​code>​ <​code>​apt list \*php\* --installed</​code>​
-Si vous voyez apparaître plusieurs versions de PHP, par ex. ''​php7.2''​ et ''​php7.0''​ ou ''​php5.6'',​ vous pouvez avoir des problèmes((https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2029875)). Dans ce cas supprimez les versions de PHP qui ne correspondent pas à la version proposée par les dépôts officiels d'​ubuntu (''​php7.4''​ sur [[:​focal|Focal 20.04]], ''​php7.2''​ sur [[:​bionic|Bionic 18.04]], ''​php7.0''​ sur [[:​xenial|Xenial 16.04]]), [[:​ppa#​la_methode_propre_les_paquets_de_gestion_automatiqueppa-purge_launchpad-getkeys|désinstallez le PPA exotique]] si il existe, puis réinstallez les paquets absents si nécessaire sans spécifier de numéro de version ([[apt>​libapache2-mod-php]],​ etc).+Si vous voyez apparaître plusieurs versions de PHP, par ex. ''​php7.2''​ et ''​php7.0''​ ou ''​php5.6'',​ vous pouvez avoir des problèmes((https://​forum.ubuntu-fr.org/​viewtopic.php?​id=2029875)). Dans ce cas supprimez les versions de PHP qui ne correspondent pas à la version proposée par les dépôts officiels d'​ubuntu (''​php7.4''​ sur [[:​focal|Focal 20.04]], ''​php7.2''​ sur [[:​bionic|Bionic 18.04]], ''​php7.0''​ sur [[:​xenial|Xenial 16.04]]), [[:​ppa#​la_methode_propre_les_paquets_de_gestion_automatiqueppa-purge_launchpad-getkeys|désinstallez le PPA exotique]] si il existe, puis réinstallez les paquets absents si nécessaire sans spécifier de numéro de version ([[apt>​libapache2-mod-php]],​ etc). Reportez-vous à [[#​ajout_d_une_autre_version_de_php]] pour disposer de plusieurs version de PHP.
  
 La commande, ici sous [[:​bionic]],​ doit retourner un message similaire, sauf si vous avez volontairement installé plusieurs versions : La commande, ici sous [[:​bionic]],​ doit retourner un message similaire, sauf si vous avez volontairement installé plusieurs versions :
  • php.txt
  • Dernière modification: Le 11/09/2022, 10:34
  • par moths-art