Dans cet exemple j'ai créé un répértoire c:\programmes\php
Dans ce répértoire je copie les differentes versions de PHP, dans cet exemple : php-5.6.5 et php-7.3.6. Téléchargeable ici
Pour les fichiers php.cmd, php7.cmd et php5.cmd, nous les verrons plus bas…
Comment modifier le PATH Windows ???
On rajoute les Paths de PHP et de ses différentes versions.
symfony local:php:list
Les fichiers php.ini de chaque version doivent etre modifier.
La valeur extension_dir doit pointer sur le répértoire des extensions propres a chaques versions… Exemple :
extension_dir = "C:\Program Files\php\php-5.6.5\ext"
extension_dir = "C:\Program Files\php\php-7.3.6\ext"
J'ai créé 3 fichiers .cmd
php7.cmd servira à lancer PHP 7
@echo off "C:\Program Files\php\php-7.3.6\php.exe" %*
php5.cmd servira à lancer PHP 5
@echo off "C:\Program Files\php\php-5.6.5\php.exe" %*
php.cmd servira d'aiguillage pour le systéme, c'est lui qui dira si il faut executer PHP 7 ou 5.
En modifiant la ligne php7 %*
@echo off REM changer la ligne ci-dessous php7 ou php5 php7 %*
Donc suite a la modification du PATH (et redémarrage) quand on tape php on exécute php.cmd
Avec la commande symfony local:php:list
Dans ce tableau on voit que Symfony utilise la version 7.3.6 et que le systéme aussi utilise la méme version.
On peut créer un fichier .php-version dans le répertoire de notre projet.
Ce fichier contiendra la version de PHP que l'on veut utiliser avec Symfony.
5.6.5
Maintenant un symfony local:php:list nous donne :
Version utilisée par Symfony = 5.6.5
Version utilisée par le systéme = 7.3.6
Avec symfony php -v (Symfony)
D:\webprojects\frontend-app>symfony php -v PHP 5.6.5 (cli) (built: Jan 21 2015 16:30:08) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
Avec php -v (Systéme)
D:\webprojects\frontend-app>php -v
PHP 7.3.6 (cli) (built: May 29 2019 12:11:00) ( ZTS MSVC15 (Visual C++ 2017) x64 )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.6, Copyright (c) 1998-2018 Zend Technologies
with Xdebug v2.7.2, Copyright (c) 2002-2019, by Derick Rethans