Comment installer plusieurs versions PHP avec Apache sur Debian 11/10
- 2572
- 45
- Emilie Colin
Généralement, le gestionnaire d'accueil utilise le système séparé pour chaque déploiement d'application de version PHP. Ce qui augmente le coût d'hébergement. Certains managers d'accueil utilisent Docker pour exécuter plusieurs versions PHP sur le serveur unique. De plus, la plupart d'entre vous connaissent la configuration. Peut-être que certains des administrateurs du système n'en sont pas conscients. Ce tutoriel vous aidera à installer plusieurs versions PHP avec Apache sur Debian 11, Debian 10 et Debian 9 Systems sans changer de versions PHP.
Ce tutoriel décrit l'installation et la configuration de deux VirtualHost sur Apache avec des versions PHP distinctes. First VirtualHost fonctionnera avec PHP 5.6 et un autre VirtualHost fonctionnera avec PHP 7.2. Alors, passez par ce tutoriel. Vous pouvez également utiliser plus de deux versions PHP avec Apache selon les besoins, mais ce tutoriel n'en couvre que deux.
Installation PHP
Pour l'installation des versions PHP, nous utilisons le PPA entretenu ici. Utilisez les deux commandes ci-dessous pour ajouter le PPA sur votre système Debian.
sudo apt install ca-certificats apt-transport-https wget -q https: // packages.sury.org / php / apt.gpg -o- | sudo apt-key add - echo "Deb https: // packages.sury.Org / Php / Stretch Main "| Sudo Tee / etc / APT / Sources.liste.d / php.liste
Ce tutoriel utilise PHP 5.6 et php 7.2 pour configurer avec le serveur Web Apache. Pour utiliser les multiples versions PHP, nous utiliserons PHP FPM et FastCGI. Exécutez les commandes suivantes pour installer PHP et FPM sur le système Debian.
APT MISE À JOUR AUDO APT INSTALLER PHP5.6 php5.6-fpm sudo apt installer php7.2 php7.2-FPM
Après l'installation, les services PHP-FPM seront démarrés automatiquement. Utilisez les commandes suivantes pour vous assurer que les deux services fonctionnent.
Sudo Systemctl Status PHP5.6 fpm sudo systemctl status php7.2-FPM
Installation d'Apache
Installez le serveur Web Apache à partir du référentiel officiel. Lancez le terminal sur votre système ou connectez-vous avec SSH pour les systèmes distants. Exécutez les commandes suivantes pour installer la dernière version disponible du serveur Web Apache.
sudo apt mise à jour sudo apt installer apache2 libapache2-mod-fcgid
Configuration d'Apache
Activez maintenant quelques modules requis pour la configuration de plusieurs versions PHP avec Apache. Ces modules sont nécessaires pour intégrer PHP FPM et FastCGI avec le serveur Apache.
Sudo a2enmod Actions fcgid alias proxy_fcgi
Créez maintenant deux répertoires séparés sur votre système pour les deux sites Configuration de votre système.
sudo mkdir / var / www / php56 sudo mkdir / var / www / php72
Maintenant, créez et indexez.php contenant la fonction phpinfo (). Cela aidera les utilisateurs à afficher et à confirmer, quelle version PHP est utilisée par le VirtualHost.
Echo ""> / var / www / php56 / index.php echo ""> / var / www / php72 / index.php
Commençons la création de VirtualHost. Apache conserve tous les fichiers de configuration VirtualHost sous / etc / apache2 / sites disponibles avec l'extension .confli. Créez un fichier pour le premier hôte virtuel et modifiez dans votre éditeur de texte préféré.
sudo vim / etc / apache2 / sites-disponible / php56.exemple.com.confli
Ajouter le contenu suivant. Assurez-vous d'utiliser le nom de serveur et le chemin du répertoire correct en fonction de votre configuration. Ce site Web est configuré pour fonctionner avec PHP 5.6.
Nom de serveur PHP56.exemple.com documentroot / var / www / php56 Options-Indexes + suitSyMLinks + MultiViews allaictoverride Tous nécessitent tous les accords # apache 2.4.10+ peuvent se procurer à Unix Socket Sethandler "Proxy: UNIX: / var / run / php / php5.6-FPM.chaussette | fcgi: // localhost / "12345678910111213 |
De même, créez un deuxième fichier de configuration VirtualHost pour travailler avec PHP 7.2. Modifier le fichier de configuration dans l'éditeur de texte:
sudo vim / etc / apache2 / sites-disponible / php72.exemple.com.confli
Ajoutez le contenu suivant pour fichier avec un nom de serveur et un document de document approprié.
Nom de serveur php72.exemple.com documentroot / var / www / php72 Options-Indexes + suifymLinks + multivirews allowoverride nécessite tous tous les sethandler accordés "proxy: unix: / var / run / php / php7.2-FPM.chaussette | fcgi: // localhost / "123456789101112 |
Vous deux sites Web êtes configurés maintenant. Mais ils ne sont toujours pas actifs. Apache garde des sites actifs sous / etc / Apache2 / Répertoire compatible sur les sites. Vous pouvez simplement créer un lien symbolique des fichiers de configuration à ce répertoire ou utiliser la commande ci-dessous pour faire de même.
sudo a2ensite php56.exemple.com sudo a2ensite php72.exemple.com
Après avoir apporté tous les modifications à redémarrer Apache pour recharger les nouveaux paramètres.
sudo systemctl redémarrer apache2
Votre configuration est terminée maintenant. Passez à l'étape suivante pour tester votre configuration.
Configuration de test
Ouvrez un navigateur Web et visitez les deux sites. Tu verras ça php56.exemple.com montre la version Php 5.6 et php72.exemple.com montre le Php 7.2 Comme la configuration.
- « Comment installer et utiliser Cordova sur Centos / Rhel 7/6/5
- Comment installer mysql sur Ubuntu 18.04 (bionic) »