Utiliser WampServer avec plusieurs versions de PHP

Développement, , , ,

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

  1. Bonjour,
    d’abord merci pour le tuto.
    Mais j’ai wamp 5.5.12, j’ai bien un fichier php 5.5.12.
    Mais dedans, j’ai dev, ext, extras,zend_ext. mais je n’ai pas
    php.exe
    php5ts.dll
    php-win.exe
    dans mes fichiers
    j’ai seulement dans dev phpts.lib
    Comment je procèdes alors?
    Cdt

    1. Je pense que tu as fais un copié/collé du numéro de version PHP pour celui du wamp.
      Et PHP5.5 c’est un peu vieux quand même, faudrait passer aux versions supérieurs :)

  2. moi j’ai recemment mis à jour ma version php en intégrant php7.4.7 mais mon wamp reste toujours en jaune. donc, mon serveur ne démarrer pas!

  3. Cher Maxime,
    Un IMMENSE merci pour ce formidable travail.
    Sans votre tutoriel, je n’y serais jamais parvenu.
    Mais grâce à vous, maintenant, Wamp64 fonctionne avec PHP7.4.6
    Je vous souhaite une excellente journée.
    NB : si un jour, vous avez besoin de pièces de 2ème main pour votre voiture, surtout n’hésitez pas à m’appeler : je m’occuperai personnellement de vous :-)
    From Brussels, with Love !

    1. Hello, effectivement c’est possible avec WampServer 64bits pour les dernières versions de PHP, mais pas pour PHP 5.3 ou PHP 5.4 ;)

Laisser un commentaire