====== 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''. [[https://windows.php.net/downloads/releases/archives/|Téléchargeable ici]]
{{:prog:symfony:1.png|}}
Pour les fichiers ''php.cmd'', ''php7.cmd'' et ''php5.cmd'', nous les verrons plus bas...
==== Modification du PATH (Windows) ====
[[windows:astuces:path|Comment modifier le PATH Windows ???]]
On rajoute les Paths de PHP et de ses différentes versions.
Si les Paths de toutes les versions ne sont pas déclarées, les versions ne seront pas visibles dans la commande ''symfony local:php:list''
{{:prog:symfony:2.png|}}
==== 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 :
extension_dir = "C:\Program Files\php\php-5.6.5\ext"
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
@echo off
"C:\Program Files\php\php-7.3.6\php.exe" %*
=== php5.cmd ===
''php5.cmd'' servira à lancer PHP 5
@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 %*''
@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''
Voila ce que l'on obtiens en changeant le fichier ''php.cmd''
{{:prog:symfony:3.png|}}
===== Dans Symfony =====
==== Lister les versions de PHP ====
Avec la commande ''symfony local:php:list''
{{:prog:symfony:4.png|}}
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.
5.6.5
Maintenant un ''symfony local:php:list'' nous donne :
{{:prog:symfony:5.png|}}
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
====== Sources & Ressources ======
* [[https://atranchant.developpez.com/tutoriels/php/version-windows/]]