Utilisation de PHP5 sur les plans mutualisés
Par xavier, lundi 24 octobre 2005 à 16:45 :: [Mutu] PHP :: #94 :: rss
Ceci n'est valable que pour les comptes se trouvant sur l'ancien Cluster, c'est à dire tous les comptes créés avant Novembre 2008.
- 1 - Situation technique:
L'utilisation de php en tant que module du serveur web apache est la meilleure solution en terme de performances.
Cependant, cela interdit de pouvoir utiliser 2 versions différentes de php en simultané.
De ce fait, afin de permettre l'utilisation au choix de php4 ou php5, il nous a fallu installer sur chaque machine du cluster mutualisé 2 versions d'apache distinctes, l'une tournant avec php4 (sur le port standard pour http, c'est à dire le port 80) et une tournant avec php5 (sur le port 81).
- 2 - Utilisation simple:
Donc, chaque type de serveur web tournant sous un port ifférent, il est très simple de faire traiter une page par php4 ou par php5.
Imaginons la page http://exemple.com/test.php
Afin de la faire traiter par php4, il faut donc appeler le serveur web tournant sur le port 80. Comme c'est le port par défaut pour le protocole http, il suffit d'appeler:
http://exemple.com/test.php
Afin de la faire traiter par php5, il faut appeler le serveur web tournant sur le port 81, soit donc:
http://exemple.com:81/test.php
Si vous n'utilisez pas de règles de réécritures, ce test peut être suffisant pour savoir si votre Site Web fonctionne avec PHP5 ou non.
- 3 - Ergonomie et transparence:
Une url avec un numéro de port n'étant pas très ergonomique, il est possible d'utiliser les réécritures d'url afin de systématiquement rediriger, de façon transparente, un appel à une page vers le port 81, afin qu'elle soit systématiquement traitée par php5.
Il vous faut créer, à la racine du répertoire contenant la page (ou d'un des répertoires parent), un fichier nommé .htaccess qui contiendra:
RewriteEngine On
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ http://%{HTTP_HOST}:81%{REQUEST_URI} [QSA,P]
Ces règles font que si on appelle une page sur le port 80 (le port standard), cela redirige automatiquement la requete sur le port 81, qui est donc celui sur lequel écoute le serveur web faisant tourner php5
Ainsi, cette fois, si on entre l'adresse http://exemple.com/test.php, nous serons redirigé de façon transparente sur http://exemple.com:81/test.php
Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire