« LINUX:Plusieurs versions de PHP » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 8 : Ligne 8 :




=Installation du dépôt Remi=
=Installation du dépôt de Remi=
En cherchant un peu, on tombe sur les dépôts de Remi qui permettent cette coexistence.
En cherchant un peu, on tombe sur les dépôts de Remi qui permettent cette coexistence.


Ligne 28 : Ligne 28 :
  dnf list | grep "^php"
  dnf list | grep "^php"
En première colonne, on a le nom du logiciel et en seconde sa version.
En première colonne, on a le nom du logiciel et en seconde sa version.
Dans la liste, tout ce qui commence par "php." ou php-" vient avec la distribution; leur version est 8.0. Plus bas, on remarque des entrée commençant par "php" suivi d'un n° faisant référence à la version; ainsi tout ce qui commence par "php74" est lié à la version 7.4.
Dans la liste, tout ce qui commence par "php." ou php-" vient avec la distribution; leur version est 8.0. Plus bas, on remarque des entrée commençant par "php" suivi d'un n° faisant référence à la version; ainsi tout ce qui commence par "php74" est lié à la version 7.4. On remarque la présence des modules de la version  5.6 plutôt ancienne mais parfois encore utilisée et des diverses versions de PHP 7.X et de PHP 8.X.




Ligne 61 : Ligne 61 :




=Configuration des PHP=
=Situation et configuration des PHP=
Comme vous l'avez remarqué, en ligne de commande, l'appel:
Comme vous l'avez remarqué, en ligne de commande, l'appel:
  php
  php
Ligne 72 : Ligne 72 :
Les fichiers de configuration de PHP version 8.0 se retrouvent dans les répertoires "/etc" et "/etc/php.d" (et assimilés).
Les fichiers de configuration de PHP version 8.0 se retrouvent dans les répertoires "/etc" et "/etc/php.d" (et assimilés).


Par contre, tout ce qui concerne PHP version 7.4 se retrouve dans le répertoire "/etc/opt/remi/php74". Le reste, les exécutables se trouvent eux sous le répertoire "/opt/remi/php74/root/usr". Adaptez le fichier de configuration de base "/etc/opt/remi/php74/php.ini" comme vous l'avez fait pour "/etc/php.ini".
Par contre, tout ce qui concerne PHP version 7.4 se retrouve dans le répertoire "/etc/opt/remi/php74". Le reste, les exécutables et librairies se trouvent eux sous le répertoire "/opt/remi/php74/root/usr". Adaptez le fichier de configuration de base "/etc/opt/remi/php74/php.ini" comme vous l'avez fait pour "/etc/php.ini".


Et les journaux de PHP version 7.4 se situent dans le répertoire "/var/opt/remi/php74/log/php-fpm" comme ceux de PHP version 8.0, venant avec la distribution, se trouvent dans le répertoire traditionnel "/var/log/php-fpm". Ce dernier point a son importance car lorsqu'on utilisera PHP 7.4 via le serveur Web, il faudra aller voir les messages d'erreur dans ce second répertoire "/var/log/php-fpm".
Les journaux de PHP version 7.4 se situent dans le répertoire "/var/opt/remi/php74/log/php-fpm" comme ceux de PHP version 8.0, venant avec la distribution, se trouvent dans le répertoire traditionnel "/var/log/php-fpm". Ce dernier point a son importance car lorsqu'on utilisera PHP 7.4 via le serveur Web, il faudra aller voir les messages d'erreur dans ce second répertoire "/var/log/php-fpm".





Version du 23 décembre 2021 à 21:05

But

Une distribution de Linux n'installe qu'une version précise de PHP. Or chaque logiciel Web n'est compatible qu'avec une série réduite de versions non nécessairement compatibles avec celle installée. Il est donc nécessaire de ruser pour contourner cette limitation.

La distribution Fedora est connue pour présenter les dernières versions du Kernel et des logiciels. Lors de l'installation de la version 35 de Fedora, c'est PHP 8.0 qui est présenté alors que sous la version précédente de Fedora, c'était la version 7.4 de PHP. Or de nombreux logiciels Web, installé sur mon serveur, ne sont pas encore compatibles avec cette version ou ont été migrés plus tard.

Il fallait donc avoir une double installation des versions 7.4 et 8.0 de PHP.


Installation du dépôt de Remi

En cherchant un peu, on tombe sur les dépôts de Remi qui permettent cette coexistence.

Avant de continuer, il faut s'assurer que la machine est à jour via la commande:

dnf upgrade --refresh

Dès lors on peut installer le dépôt correspondant à notre distribution. Dans notre cas, on est en présence Fedora 35. Voici la commande à adapter selon vos besoins:

dnf install https://rpms.remirepo.net/fedora/remi-release-35.rpm

Ensuite il faut activer certain module et en désactiver d'autres:

dnf config-manager --set-enabled remi
dnf config-manager --set-disabled remi-modular
dnf config-manager --set-disabled remi-php81

Enfin nous pouvons rafraichir la liste des logiciels:

dnf upgrade --refresh

La commande suivante permet d'obtenir la liste des logiciels disponibles et en faisant un filtre sur PHP, on obtient ce qui concerne PHP:

dnf list | grep "^php"

En première colonne, on a le nom du logiciel et en seconde sa version. Dans la liste, tout ce qui commence par "php." ou php-" vient avec la distribution; leur version est 8.0. Plus bas, on remarque des entrée commençant par "php" suivi d'un n° faisant référence à la version; ainsi tout ce qui commence par "php74" est lié à la version 7.4. On remarque la présence des modules de la version 5.6 plutôt ancienne mais parfois encore utilisée et des diverses versions de PHP 7.X et de PHP 8.X.


Notons que pour désinstaller le dépôt de Remi, la commande suivante est à exécuter:

dnf remove remi-release


Installation de PHP version 7.4

Maintenant installons PHP version 7.4 avec les commandes suivantes:

dnf install php74
dnf install php74-php

Elles comprennent aussi l'intégration avec Apache.

Ensuite installons quelques modules de base qui nous nécessaires:

dnf install php74-php-gd
dnf install php74-php-mysqli
dnf install php74-php-zip
dnf install php74-php-intl
dnf install php74-php-imagick

La commande pour PHP version 7.4:

php74 --modules

et la commande pour PHP de la distribution:

php --modules

permettent de comparer la présence des modules présents de part et d'autre. A votre charge d'ajouter les modules nécessaires.

Les commandes équivalentes:

php74 -v

et

php -v

permettent de comparer leur version.


Situation et configuration des PHP

Comme vous l'avez remarqué, en ligne de commande, l'appel:

php

fait appel à PHP version 8.0 et

php74

fait appel à PHP version 7.4.

Ces deux exécutables se retrouvent dans le répertoire "/bin".

Les fichiers de configuration de PHP version 8.0 se retrouvent dans les répertoires "/etc" et "/etc/php.d" (et assimilés).

Par contre, tout ce qui concerne PHP version 7.4 se retrouve dans le répertoire "/etc/opt/remi/php74". Le reste, les exécutables et librairies se trouvent eux sous le répertoire "/opt/remi/php74/root/usr". Adaptez le fichier de configuration de base "/etc/opt/remi/php74/php.ini" comme vous l'avez fait pour "/etc/php.ini".

Les journaux de PHP version 7.4 se situent dans le répertoire "/var/opt/remi/php74/log/php-fpm" comme ceux de PHP version 8.0, venant avec la distribution, se trouvent dans le répertoire traditionnel "/var/log/php-fpm". Ce dernier point a son importance car lorsqu'on utilisera PHP 7.4 via le serveur Web, il faudra aller voir les messages d'erreur dans ce second répertoire "/var/log/php-fpm".







->retour au menu de PHP