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