PHP-CLI cet outil méconnu
De nombreux développeurs travaillent avec PHP pour concevoir des sites ou des applications dans des environnements Web. On commence même à voir apparaître de nombreux outils utilisant PHP en ligne de commande. Pourtant ils sont peu nombreux à connaitre les possibilités offertes par PHP-CLI.
Prenons par exemple le cas d’un développeur PHP souhaitant tester une fonction
PHP afin de l’utiliser. Je ne compte plus le nombre de développeurs ayant créé
un fichier test.php
afin de tester du code (fichier exécuté aussi bien via un
serveur Web qu’en ligne de commande).
Effectivement, il est fréquent que les développeurs ignorent que PHP-CLI fournit
un shell interactif
permettant d’exécuter du code PHP (et donc de tester une fonction par exemple).
Pour démarrer ce dernier, il suffit d’utiliser la commande php -a
.
Prenons maintenant le cas du développeur qui souhaite afficher les informations
de configuration PHP. Là encore, de nombreuses personnes créeront un fichier
contenant un appel à la fonction phpinfo()
. PHP-CLI fournit pourtant une
option permettant d’afficher ces informations au travers de l’option -i
.
De même si phpinfo()
est également utilisé pour connaitre les modules PHP
activées sur la machine, l’option -m
permet d’obtenir la liste des modules
actuellement actifs.
Il est de plus en plus fréquent d’utiliser des applications PHP en ligne de
commande. L’exemple le plus courant est très certainement Composer.
N’avez-vous jamais lancé un composer update
et obtenu en réponse un message
du genre Fatal Error: Allowed Memory Size of 134217728 Bytes Exhausted
?
Dans ce cas-là, il n’est pas toujours possible de modifier temporairement la
configuration décrite dans le fichier php.ini
. Vous me direz qu’il est toujours
possible d’utiliser un appel à la fonction ini_set
. Mais cela vous obligera à
modifier votre code. Pour éviter cela (car en plus de ne pas être propre, c’est
parfois impossible à mettre en oeuvre), PHP-CLI vous donne la possibilité de
modifier une valeur de configuration au travers de l’argument -d
.
Par exemple pour exécuter Composer avec une limite mémoire à 1 Go, il est possible d’utiliser la commande suivante :
Il est bien évidemment possible de cumuler les variables de configuration à modifier. Vous pouvez donc appelez Composer en activer dynamiquement une extension PHP :
N’hésitez donc pas à découvrir ou redécouvrir les nombreuses possibilités de PHP-CLI, cela pourra vous servir et vous faciliter la vie au quotidien.