PHP5 et PHP6 sur le même serveur

Dans un article précédent, j’expliquais comment installer PHP6 en module module Apache. Maintenant je vais vous montrer comment installer PHP5 et PHP6 en même temps.

Pour que ça marche il faut installer PHP5 en module et PHP6 en CGI. Normalement PHP5 est déjà installé en module, si ce n’est pas le cas, allez voir la page du wiki ubuntu qui est très bien faite.

Maintenant il faut télécharger PHP6 et le compiler, allez voir le blog de Jean-Phi, il a fait un billet qui détaille la procédure.

Voila, il ne reste plus qu’a configurer Apache, j’ai eu besoin d’utiliser le module Actions qui n’était pas activé chez moi, pour l’activer, c’est très simple :

sudo a2enmod actions

Passons à la configuration de votre virtual host, il suffit d’ajouter ce qui suit à un host :

ScriptAlias /php6-cgi /usr/local/bin
Action php6-script  /php6-cgi/php-cgi
AddHandler php6-script .php

Ce qui donne pour le virtual host complet :

<VirtualHost *>
        ServerName www.monsite.com
 
        DocumentRoot /home/mon_site/www/
        ScriptAlias /php6-cgi /usr/local/bin
        Action php6-script  /php6-cgi/php-cgi
        AddHandler php6-script .php
 
        <directory>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </directory>
<VirtualHost>

Le chemin du Scriptalias (/usr/local/bin) doit correspondre au répertoire où est installé php-cgi, celui qui à été installé manuellement avec PHP6

Après, vous pouvez modifier le AddHandler comme vous le souhaitez, dans cet exemple, les fichiers .php sont considérés comme du PHP6 mais si vous voulez, vous pouvez faire en sorte que seuls les fichiers .php6 soient interprétés par PHP6 comme ça les fichiers .php continueront d’être considérés comme du PHP5 :

ScriptAlias /php6-cgi /usr/local/bin
Action php6-script  /php6-cgi/php-cgi
AddHandler php6-script .php6

Un simple phpinfo(); devrait vous confirmer que votre configuration fonctionne.

Read 5 comments

  1. Bonjour. Je suis débutant sous linux , j’ai installé php6 mais je ne sais pas ou se trouve virtual host Je suis sous ubuntu hardy apache 2.2. Merci de détailler cette partie.

  2. Les fichiers pour les vhosts sont dans /etc/apache2/sites-available. Une fois le fichier créé vous devrez l’activer avec la commande : sudo a2ensite et relancer apache avec : sudo /etc/init.d/apache2 restart pour que les modifs soient prises en compte.

    Il faut aussi penser à ajouter le nom du vhost (celui qui correspond au ServerName) à votre fichier /etc/hosts. Par exemple le mien à une ligne :
    127.0.0.1 localhost http://www.testphp6.com
    Comme ça vous pourrez accéder au site créé directement depuis votre navigateur.

  3. Pingback: Installer XDebug avec PHP 5.3 — Développement Web Libre

Laisser un commentaire