Exécuter un script PHP à partir de la ligne de commande

Par     20 mars 2012  - Catégorie(s): Php  Php

PHP, un excellent langage, fait aussi pour le Scripting !PHP est un langage que j’apprécie tout particulièrement pour sa simplicité, sa puissance et sa modularité. Parmi les raisons qui me poussent aujourd’hui à l’utiliser de plus en plus, c’est le fait qu’il puisse s’exécuter à partir de la ligne de commande sous Linux et sous Windows, en mode scripting, à la manière du langage Perl.

Le programme test.php

J’ai préféré faire simple…

<?php
echo "Hello the World \\n";
?>

Exécution du programme sous Linux et sous Windows

A partir de la ligne de commande, tapez : php -f test.php. Sous Windows, vous devez ajouter le répertoire où vous avez décompressé PHP pour pouvoir exécuter la commande php.exe : set Path=%Path%;c:\\Php.

Avec passage de paramètres : le nouveau fichier test.php

$argv[0] représente la ligne de commande. $argv[1] représente le 1er paramètre transmis, au niveau de la ligne de commande : Hello, puis Hello the World dans l’exemple ci-dessous. $argv[2]

<?php
echo "$argv[1] \\n";
?>

Du coup, pour exécuter le script PHP à partir de la ligne de commande, ça devient :
php -f test.php -- Hello, sous Linux et Windows
php -f test.php -- "Hello the World", sous Linux et Windows
php -f test.php -- 'Hello the World', sous Linux uniquement

Rendre un script PHP exécutable sous Linux

Après avoir localisé l’emplacement de la commande php à l’aide de which (which php), ajoutez dans l’en-tête du script :

#!/usr/bin/php
<?php
echo "Hello the World \\n";
?>

Puis, rendez votre programme exécutable avec chmod +x test.php. Dès lors, vous pouvez exécuter votre script php plus « simplement » sous Linux :
./test.php 'Hello the World', si le script se situe dans le répertoire courant
/home/denis/test.php 'Hello the World', de n’importe quel répertoire

Autres billets sur le sujet :

Dsfc Dsfc Dsfc sur Tout le Monde en Blogue

Vus : 1569
Publié par Denis Szalkowski : 58