PHP-CLI pour
Command
Line
Interface permet d'exécuter des scripts en PHP depuis la ligne
de commande DOS ou Shell. L'intéret d'un tel mode d'exécution est simple, il est possible de programmer
directement en PHP des programmes que nous pourrons exécuter de façon planifiés ( chose impossible
en PHP web ) ou également des scripts ne nécessitant pas de faire un retour dans le navigateur web.
PHP est un puissant langage de programmation. Il est possible de modifier la durée maximum d'exécution
d'un script avec la commande
set_time_limit(0); qui définis un temps maximum
d'exécution du script infinis ( Il est néanmoins possible de l'arrêter en faisant Ctrl+C ). Les auteurs de PHP ont bien compris la portée
de PHP-CLI, en effet cette directive est implicite depuis la version 5.0 de PHP.
Avec l'adjonction des modules fournis de base avec l'environnement
il devient possible de créer des applications faisant appel à :
- GD pour la création d'images.
- PDFLib pour la création de fichiers PDFs.
- SNMP pour l'interrogation d'équipements réseaux.
- IMAP pour la lecture de boites aux lettres.
- ...
Utilisé en ligne de commande PHP donne accès à de nouvelles variables : STDIN/STDOUT/STDERR que nous pouvons
ouvrir comme des flux avec la fonction
fopen ou encore
$argc et
$argv[] qui permettent de récupérer
les paramètres passés au script par la ligne de commande.
Pour exécuter PHP en ligne de commande, il faut soit se trouver dans le même répertoire que
l'exécutable soit que son chemin d'accès soit définis dans la variable d'environnement
PATH
( ce qui est de loin la meilleure solution ). En ligne de commande tapez :
php -v
Si la commande fonctionne, vous verrez apparaitre des informations sur la version de PHP
actuellement installée sur votre machine :
PHP 5.1.6 (cli) (built: Aug 23 2006 16:35:53)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies
Ecrivez un programme de test
test.php :
Maintenant, exécutez le :
php test.php PARAM1 PARAM2
Vous devriez avoir quelque chose comme :
PHP-Cli fonctionne!
Parametres de la ligne de commande :
Array
(
[0] => plop.php
[1] => PARAM1
[2] => PARAM2
)
Il est à noter que le nom du script exécuté se trouve toujours dans $argv[0], pour parser
les paramètres il faut donc commencer à 1. Vous pouvez également exécuter du code PHP directement
depuis la ligne de commande en le passant en paramètre comme :
php -r "echo time();"
Vous devriez avoir quelque chose comme :
1172906774
Les possibilitées sont infinies.. J'utilise PHP-Cli pour créer des services de monitoring SNMP
qui sauvent leur données dans une base MySQL, des scripts de rendus d'image, des parsers de fichiers,
des connecteurs ( socket ), des applications serveurs...
A noter qu'il est possible de compiler les sources PHP en fichiers exécutables en utilisant le freeware
Bambalam PHP EXE Compiler/Embedder. (
http://www.bambalam.se/bamcompile/ )
A noter que ce logiciel ne compile pas le code PHP mais merge les fichiers exécutable de PHP
ainsi que les DLLs ( si vous utilisez des extensions comme GD ) et votre code source dans un
exécutable unique. Lors de l'exécution, les fichiers sont décompressés et lancés en PHP-CLI.
Liens Complémentaires