Plusieurs versions de PHP avec Symfony
Installations des PHPs
Structures des fichiers
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…
Modification du PATH (Windows)
Comment modifier le PATH Windows ???
On rajoute les Paths de PHP et de ses différentes versions.
symfony local:php:list
Modification des php.ini
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 :
- Files\php\php-5.6.5\php.ini
extension_dir = "C:\Program Files\php\php-5.6.5\ext"
- Files\php\php-7.3.6\php.ini
extension_dir = "C:\Program Files\php\php-7.3.6\ext"
Les fichier .cmd
J'ai créé 3 fichiers .cmd
php7.cmd
php7.cmd servira à lancer PHP 7
- C:\Program Files\php\php7.cmd
@echo off "C:\Program Files\php\php-7.3.6\php.exe" %*
php5.cmd
php5.cmd servira à lancer PHP 5
- C:\Program Files\php\php5.cmd
@echo off "C:\Program Files\php\php-5.6.5\php.exe" %*
php.cmd
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 %*
- C:\Program Files\php\php.cmd
@echo off REM changer la ligne ci-dessous php7 ou php5 php7 %*
Tests
Donc suite a la modification du PATH (et redémarrage) quand on tape php on exécute php.cmd
Dans Symfony
Lister les versions de PHP
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.
Le fichier .php-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.
- .php-version
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
Tests
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




