Utiliser WampServer avec plusieurs versions de PHP

Testing, , , ,

De plus, le passage à WampServer 3.x est nécessaire pour supporter PHP 7.x !

Ce qui est bien avec WampServer, c’est qu’il nous offre la possibilité d’ajouter d’autres versions de PHP, mais encore faut-il savoir les installer ;)

Tout d’abord, ce qu’il faut bien comprendre, c’est qu’il vous faut impérativement la version 32 bits de WampServer. En effet, cela ne fonctionne pas avec la version 64 bits, je me suis arraché les cheveux dessus.

Mise en place

Conservation de la version de PHP fournie

On ne peut pas supprimer la version de PHP que WampServer nous livre (la version 5.6.19 pour la version 3.0), car elle est utilisée par le reste du logiciel et le chemin des binaires est hardcodé !

Mais on peut la désactiver, il vous suffit de garder uniquement :

WampServer/bin/php/
    DO_NOT_DELETE_5.6.19.txt
    php5.6.19/
        php.exe
        php5ts.dll
        php-win.exe

Prise en compte d’une nouvelle version

Il faut télécharger un binaire de PHP pour Windows en choisissant la version x86 Thread Safe et l’extraire dans un dossier du type WampServer/bin/php/phpM.m.p/ (exemple WampServer/bin/php/php7.0.5/).

Ensuite, il faut créer le fichier suivant :

Pour une version 7.x :

// WampServer/bin/php/phpM.m.p/wampserver.conf
<?php
 
$phpConf['phpIniDir'] = '.';
$phpConf['phpExeDir'] = '.';
$phpConf['phpConfFile'] = 'php.ini';
 
//PHP 7 needs Apache 2.4.x and doesn't works with Apache 2.2.x
//and php7_module, not php5_module
$phpConf['apache']['2.4']['LoadModuleName'] = 'php7_module';
$phpConf['apache']['2.4']['LoadModuleFile'] = 'php7apache2_4.dll';
$phpConf['apache']['2.4']['AddModule'] =  '';
 
?>

Ou pour une version 5.x :

// WampServer/bin/php/phpM.m.p/wampserver.conf
<?php
$phpConf['phpIniDir'] = '.';
$phpConf['phpExeDir'] = '.';
$phpConf['phpConfFile'] = 'php.ini';
 
$phpConf['apache']['2.2']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['2.2']['LoadModuleFile'] = 'php5apache2_2.dll';
$phpConf['apache']['2.2']['AddModule'] = '';
 
$phpConf['apache']['2.4']['LoadModuleName'] = 'php5_module';
$phpConf['apache']['2.4']['LoadModuleFile'] = 'php5apache2_4.dll';
$phpConf['apache']['2.4']['AddModule'] = '';
?>

Enfin, il vous faut créer deux fichiers php.ini et phpForApache.ini (ils peuvent être identique), à partir des fichiers php.ini-development ou php.ini-production suivant votre besoin.

Vous devez impérativement modifier dans les deux fichiers php.ini et phpForApache.ini les paramètres suivants (remplacez phpM.m.p) :

Pour une version 7.x :

- ;error_log = php_errors.log
+ error_log = "C:/WampServer/logs/php_error.log"
 
- ; extension_dir = "./"
+ extension_dir = "C:/WampServer/bin/php/phpM.m.p/ext/"
 
- ;upload_tmp_dir =
+ upload_tmp_dir = "C:/WampServer/tmp"
 
- ;session.save_path = "/tmp"
+ session.save_path = "C:/WampServer/tmp"
 
- soap.wsdl_cache_dir="/tmp"
+ soap.wsdl_cache_dir="C:/WampServer/tmp"

Ou pour une version 5.x :

- ;error_log = php_errors.log
+ error_log = "C:/WampServer/logs/php_error.log"
 
- ; extension_dir = "./"
+ extension_dir = "C:/WampServer/bin/php/phpM.m.p/ext/"
 
- ;upload_tmp_dir =
+ upload_tmp_dir = "C:/WampServer/tmp"
 
- mysql.default_port =
+ mysql.default_port = 3306
 
- ;session.save_path = "/tmp"
+ session.save_path = "C:/WampServer/tmp"

Vérifiez que votre dossier ressemble à ça :

WampServer/bin/php/phpM.m.p/
    dev/
    ext/
    extras/
    [...]
    php.ini
    php.ini-development
    php.ini-production
    [...]
    phpForApache.ini
    [...]
    wampserver.conf

Si tout est OK, vous pouvez re-démarrer votre WampServer pour prendre en compte la nouvelle version.

A vous de tester !


Lien de téléchargement : WampServer 3.0 en 32bits

Vos commentaires

Répondre à Flui Annuler la réponse

consequat. libero vulputate, Aliquam massa ut Praesent facilisis risus ipsum id eleifend