GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer PHP 7.2 sur Ubuntu 16.04

L'utilisation de PHP 7.2 sur un serveur dédié Ubuntu est fortement recommandée par rapport aux versions précédentes de PHP pour plusieurs raisons, la première étant la sécurité. La prise en charge active de PHP 7.2 va jusqu'au 30 novembre 2019 et la prise en charge de la sécurité jusqu'au 30 novembre 2020. Les anciennes versions comme 7.0 et toutes les versions 5.6 et inférieures ne bénéficient plus d'aucune prise en charge et peuvent laisser des failles de sécurité ouvertes sur un serveur si elles ne sont pas remplacées. . Une autre raison principale de la mise à niveau est la grande augmentation des performances par rapport aux versions précédentes lorsque PHP 7.2 est installé et utilise le module OPcache . Cela peut réduire considérablement le temps de chargement de votre page Web ! Si vous développez un site localement ou que vous le lancez sur l'un des VPS Ubuntu ou serveurs dédiés de Liquid Web, l'utilisation de PHP 7.2 ou d'une version plus récente serait la solution.

Pré-vol :vérifier l'environnement du serveur
  • Autorisations correctes : Tout d'abord, assurez-vous que vous disposez des autorisations root ou sudo appropriées pour pouvoir gérer le système et les applications sur le serveur. Si vous n'avez accès qu'à un utilisateur non root sur le système, vous devrez peut-être obtenir plus d'autorisations de la part de l'administrateur du serveur.
  • Versions PHP existantes : Recherchez une version existante de PHP. Si vous avez sélectionné la pile LAMP par défaut lors de la première installation de l'image Ubuntu sur le serveur, la valeur par défaut est PHP 7.0. Si vous avez utilisé une image différente ou effectué une installation simple, il se peut que vous n'ayez aucune version de PHP sur le serveur. Pour vérifier la version de PHP, accédez au terminal et exécutez :
user@test:~# php -v
 PHP 7.0.30-0ubuntu0.16.04.1 (cli) ( NTS )

Si vous voyez une ancienne version de PHP, vous devrez installer la nouvelle version et changer la version à laquelle Apache se connecte plus tard. S'il affiche "Commande php introuvable", il n'y a pas de version PHP actuellement installée .

  • Création d'une sauvegarde rapide : Si vous avez une version PHP existante, vous voudrez peut-être faire une sauvegarde de toutes les configurations avant de procéder à la mise à niveau au cas où il y aurait des problèmes (comme si le code de votre site n'était pas compatible) et que vous deviez rétrograder à nouveau. Vous pouvez vérifier le répertoire de configuration actuel en exécutant :
user@test:~# php --ini
 Configuration File (php.ini) Path: /etc/php/7.0/cli
 Loaded Configuration File:         /etc/php/7.0/cli/php.ini
 Scan for additional .ini files in: /etc/php/7.0/cli/conf.d

Cela montre que les configurations sont toutes dans le /etc/php/7.0/ annuaire. Ainsi, si vous souhaitez effectuer une sauvegarde rapide, vous pouvez exécuter une commande telle que :

user@test:~# sudo cp -a /etc/php/7.0/ /etc/php/7.0.backup

Vous pouvez également enregistrer une liste de modules PHP existants en exécutant :

user@test:~# sudo cp -a /etc/php/7.0/ /etc/php/7.0.backup

Cela peut aider à comparer les modules existants aux modules de PHP 7.2.

Installer PHP 7.2

Le référentiel officiel de PHP sur Ubuntu provient d'Ondřej Surý sur le tableau de bord. Pour l'ajouter à votre système, vous devez exécuter la commande suivante :

user@test:~# sudo add-apt-repository ppa:ondrej/php

Appuyez sur Entrée quand il vous y invite. Cela permet à votre système d'utiliser le référentiel comme source de nouveaux logiciels. La commande suivante récupère la liste des packages logiciels disponibles pour votre système :

user@test:~# sudo apt-get update

Après cela, vous pouvez procéder à l'installation :

user@test:~# sudo apt-get install php7.2

Il devrait montrer plusieurs packages différents qu'il installera et combien d'espace disque total ils utiliseront. Lorsqu'il vous y invite, tapez "Y ' et soumettez-le. Après quelques instants l'installation devrait être terminée, vérifiez la version de PHP avec :

user@test:~# php -v
 PHP 7.2.13-1+ubuntu16.04.1+deb.sury.org+1

Il devrait maintenant afficher PHP 7.2, mais nous devons maintenant configurer Apache pour utiliser la version la plus récente.

Configuration d'Apache pour utiliser PHP 7.2

Ubuntu 16.04 utilise quelques commandes différentes pour aider à gérer les modules Apache, de sorte que la façon dont il utilise une version PHP spécifique dépend du module chargé. Vous pouvez afficher la liste des modules disponibles en exécutant :

user@test:~# ls /etc/apache2/mods-available/php*
 /etc/apache2/mods-available/php7.0.conf
 /etc/apache2/mods-available/php7.0.load
 /etc/apache2/mods-available/php7.2.conf
 /etc/apache2/mods-available/php7.2.load

Vous pouvez également avoir d'autres modules, l'installation par défaut de la pile LAMP aurait 7.0 et la nouvelle installation 7.2 que nous venons de faire, mais l'exécution de la commande suivante montre que 7.0 est toujours actif :

user@test:~# ls /etc/apache2/mods-enabled/php*
/etc/apache2/mods-enabled/php7.0.conf
/etc/apache2/mods-enabled/php7.0.load

Pour passer à la nouvelle version 7.2, désactivez d'abord l'ancienne version de PHP :

user@test:~# sudo a2dismod php7.0

Activez ensuite PHP 7.2 :

user@test:~# sudo a2enmod php7.2

Avant de redémarrer Apache, vérifiez la syntaxe de configuration d'Apache en exécutant :

user@test:~# apachectl -t
Syntax OK

S'il indique que la syntaxe est correcte, redémarrez Apache :

user@test:~# sudo service apache2 restart

Vérification de la version PHP d'Apache

Maintenant, pour vérifier votre travail, exécutez à nouveau la commande précédente pour voir quel module est chargé et il devrait afficher la version PHP 7.2 :

user@test:~# ls /etc/apache2/mods-enabled/php*
/etc/apache2/mods-enabled/php7.2.conf
/etc/apache2/mods-enabled/php7.2.load

Si vous ne voyez pas les mêmes résultats que ceux affichés dans les dernières commandes, revérifiez l'orthographe et la syntaxe des dernières commandes et assurez-vous que sudo a été saisi si vous n'exécutez pas en tant qu'utilisateur root.

Ensuite, pour le tester sur votre site, nous vous conseillons de créer un fichier phpinfo que vous pourrez visualiser sur votre domaine. Cela montre la version de PHP ainsi que des informations sur les configurations actuelles, les variables et tous les modules ajoutés. Créez un nouveau .php fichier dans le dossier d'accueil de votre site ou dans la racine des documents d'Apache (/var/www/html par défaut) et incluez ce code :

<?php phpinfo(); ?>

Ensuite, si vous visitez la page dans le navigateur, elle devrait ressembler à ceci :

Si vous aviez un site déjà opérationnel sur la version précédente de PHP, testez-le maintenant et voyez s'il y a des problèmes. Si votre code n'est pas compatible ou affiche des erreurs, vous pouvez essayer de diagnostiquer davantage ou si vous avez besoin de sauvegarder le site immédiatement, vous pouvez à nouveau rétrograder la version PHP en exécutant le a2dismod et a2enmod pour désactiver PHP 7.2, puis activer 7.0 ou la version précédente que vous aviez sur le serveur, puis redémarrez Apache.

Certains sites peuvent maintenant afficher une erreur indiquant qu'un module est manquant et ne peut pas s'exécuter, ou si vous développez un nouveau site et que vous avez une liste des modules nécessaires, la section suivante peut vous aider à ajouter de nouveaux modules.

Ajouter des modules à PHP 7.2

Le passage à PHP 7.2 ne conserve pas automatiquement tous les mêmes modules des versions précédentes de PHP. Si vous n'avez pas besoin de comparer la liste à une version précédente de PHP, pour installer les modules de base dont vous avez besoin, tapez d'abord la commande ci-dessous. Mais n'appuyez pas sur Entrée, si vous appuyez sur TAB clé deux fois, vous devriez obtenir une liste des modules disponibles spécifiques à 7.2 ::

@test:~# sudo apt-get install php7.2[tab][tab]

Exemple de résultat :
php7.2 php7.2-enchant php7.2-mbstring php7.2-snmp
php7.2-bcmath php7.2-fpm php7.2-mysql php7.2-soap
php7.2-bz2 php7.2-gd php7.2-odbc php7.2-sqlite3
php7.2-cgi php7.2-gmp php7.2-opcache php7.2-sybase
php7.2-cli php7.2-imap php7.2-pgsql php7.2-tidy
php7.2-common php7.2-interbase php7.2-phpdbg php7.2-xml
php7.2-curl php7.2-intl php7.2-pspell php7.2-xmlrpc
php7.2-dba php7.2-json php7.2-readline php7.2-xsl
php7.2-dev php7.2-ldap php7.2-recode php7.2-zip

Ce n'est pas une liste complète, vous devrez peut-être rechercher comment installer d'autres modules dont vous pourriez avoir besoin. Vous pouvez taper les modules que vous voulez, et vous pouvez en ajouter plusieurs dans la même commande d'installation, comme :

user@test:~# sudo apt-get install php7.2-opcache php7.2-mbstring php-memcached

Si vous avez enregistré la liste des modules d'une version précédente de PHP avec la commande plus haut dans le guide, vous pouvez enregistrer une liste des modules dans PHP 7.2 et les comparer avec la version précédente. Exécuter :

php -m > /tmp/7.2.modulelist.txt

Ensuite, pour la comparer à la liste qui a été créée auparavant, exécutez :

user@test:~# diff  /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.txt
15,16d14
< mysqli
< mysqlnd
21d18
< pdo_mysql
28d24
< soap
29a26
> sodium

Ou si vous voulez un moyen plus visuel de comparer les deux listes, exécutez :

user@test:~# vimdiff  /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.txt

Ce qui affichera une page comme celle-ci dans le terminal :

Dans cet exemple, les différents modules MySQL et soap apparaissent sur la liste des modules 7.0 à gauche mais sont absents de la version 7.2 à droite, et le module sodium est sur 7.2 mais n'était pas dans 7.0.

Donc pour cet exemple, on peut installer les modules manquants avec :

user@test:~# sudo apt-get install php7.2-mysql php7.2-soap

Après l'installation, nous pouvons enregistrer une liste mise à jour des modules et la comparer à nouveau :

user@test:~# php -m > /tmp/7.2.modulelist.updated.txt
diff /tmp/7.0.modulelist.txt /tmp/7.2.modulelist.updated.txt
29a30
> sodium

Seul le module sodium est différent entre les listes de modules, il est donc maintenant prêt pour le développement ! J'espère que ce guide vous a aidé dans votre mise à niveau vers PHP 7.2 ! Si vous rencontrez des problèmes ou si vous avez besoin d'aide supplémentaire avec votre serveur Liquid Web Ubuntu, veuillez en informer notre équipe d'assistance Linux !


Ubuntu
  1. Comment installer PHP 7.4 / 7.3 / 7.2 sur Ubuntu 18.04 / Ubuntu 16.04

  2. Comment installer PHP 8.0 sur Ubuntu 20.04 / Ubuntu 18.04

  3. Comment installer Composer sur Ubuntu 20.04

  4. Comment installer PHP 7 sur Ubuntu 14.04

  5. Comment installer PHP 7.3 sur Ubuntu 16.04

Comment installer PHP 8.0 sur Ubuntu 20.04

Comment installer PHP 8 sur Ubuntu 20.04

Comment installer Memcached sur Ubuntu 15.04

Comment installer PHP 8.0 sur Ubuntu 20.04 / 18.04

Comment installer PHP dans Ubuntu 22.04

Comment installer PHP sur Ubuntu 22.04