FEB
01
PHP-CLI ( Command Line Interface )
01.02.2007 | | Auteur : Ayashi | Catégorie : Programmation
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

Tags : php, cli, commmand, line | Digg!
Commentaires  | Ajouter un commentaire
Eden
11.04.08 / 12:39
Bonjour !!Je viens de lire cet article avec beaucoup d'attention car dans le cadre de mon stage de fin d'année, je dois développer un service de monitoring SNMP qui sauve les données dans une base Postgres. Je voulais donc savoir s'il était possible que l'on prenne contact pour partager ton expérience à ce sujet.Merci d'avance.
Rechercher sur internet  ?  | Rechercher!
Trackback
Utilisez le lien http://www.sunyday.net/trackback-PHP-Command-Line-Interface pour faire un trackback vers cette article depuis votre site web. Les trackbacks sont soumis à une approbation mutuelle et susceptibles d'être supprimés si jugés indésirables.
Retrieve RSS feed. Get notified by eMail. Meteo Parser.
Computing widgets...
Jean-Damien POGOLOTTI© 2k6-2k7 | Design // Code

Qui suis-je?

Touche à tout restant bouche bée devant la complexité et la cohérence de ce monde je m'évertue à essayer d'en comprendre les rouages. En passant par la météorologie, la physique ou bien l'informatique, tout est une raison d'apprendre!
Comment les gens arrivent-il ici?
 en  +  active  nuls  terrestre  menu  des  www.sunyday.net  de  trou  ldap  sunyday.net  image  regex  authentification  regexp  google  magn%C3%A9tique  module  line  protocole  map  latitude  longitude  web  browser  resize  d%27ozone  fading  mercator  conversion  et  convertir  la  snmp  synop  explication  dans  sunyday  lldp  url  script  SUR  anim%C3%A9  PAGE  php  adresse  javascript  fade  gd  metar  photovoltaique  html  couche  convertisseur  ntfs  pour  une  CODE  le  coordonn%C3%A9es  gps  un  cli  ad  les  avec  directory  ajax  champ  

Sunyday.net