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?
 des  champ  les  command  metar  longitude  cli  photovoltaique  ad  script  module  de  pour  php  map  convertir  d%27ozone  lldp  convertisseur  la  find  ntfs  javascript  couche  gps  une  active  image  regexp  coordonn%C3%A9es  ajax  PAGE  SUR  en  CODE  html  le  protocole  anomalie  snmp  nuls  +  directory  Cannot  explication  url  sunyday  fade  du  browser  google  fading  latitude  synop  resize  terrestre  trou  line  un  et  magn%C3%A9tique  mercator  dans  regex  conversion  authentification  ldap  gd  web  adresse  

Sunyday.net