J'ai un serveur Ubuntu 18.04 LTS avec PHP7.2 et PHP5.6 installé. Jusqu'à présent, deux hôtes virtuels sont configurés de la même manière:
<VirtualHost *:80>
# domain: php56.test
# public: /var/www/php56/
ServerName php56.test
ServerAdmin webmaster@localhost
DocumentRoot /var/www/php56
<Directory /var/www/php56/>
Require all granted
Options Indexes FollowSymLinks MultiViews
AllowOverride None
</Directory>
ErrorLog ${Apache_LOG_DIR}/error.log
LogLevel warn
CustomLog ${Apache_LOG_DIR}/access.log combined
</VirtualHost>
Maintenant, je veux dédier PHP5.6 à php56.test et PHP7.2 à php72.test.
J'ai joué autour des fichiers .conf en fonction de plusieurs articles sur le Web, mais sans succès. Soit je pouvais faire tourner PHP5.6 ou PHP7.2, mais pas les deux à la fois comme requis pour les sites dédiés. Par défaut, le fichier .conf est tel que décrit ci-dessus et php56.test.conf.
en fait, j'ai trouvé une solution de travail sans besoin de .htaccess. Vérifiez comment installer plusieurs PHP version avec Apache sous Ubuntu 18.04 et 16.04 - https://tecadmin.net/install-multiple-php-version-Apache-ubuntu/
Merci à Rahul Kumar.
Vous ne pouvez pas faire cela avec mod_php, il ne peut charger qu'une version à la fois.
Vous pouvez exécuter plusieurs instances FPM sur différentes versions, ou utiliser PHP via FCGI (des tutoriels pour chacune d'entre elles sont sur le net), mais vous perdrez les intégrations mod_php (comme php_flag et php_value dans les configs) qui vous pouvez avoir besoin.
Vous pouvez aussi mélanger et assortir - ayez donc une version dans mod_php et d’autres dans FCGI ou FPM; J'ai déjà eu la version "notoirement valide" dans mod_php lors des tests sous FCGI, puis mis à niveau la version mod_php lorsque je suis prêt.
Alternativement, vous pouvez exécuter deux installations Apache avec un mod_php différent dans chacune, mais cela peut devenir plus compliqué (et ils ne peuvent pas partager un socket).
Pour ce faire, la méthode moderne consiste à utiliser un VM ou un conteneur.