Sommaire
Appendices
Histoire de PHP
Utiliser PHP en ligne de commande
Migration de PHP 3.0 à PHP 4.0
Migration de PHP/FI 2.0 à PHP 3.0
Débuggeur PHP
Développement PHP
Liste d'alias
Mot réservés en PHP
Types des ressources PHP
A propos de ce manuel
|
8.2 Utiliser PHP en ligne de commande
Les options de ligne de commande de PHP sont pratiques si vous
souhaitez débugger ou tester votre installation PHP, mais
elles sont aussi utiles si vous voulez utilisr PHP pour
d'autres tâches que les scripts web.
Notez, que vous pouvez toujours rediriger le résultat
d'un script PHP avec le caractère supérieur ( > ) :
par exemple, php -q test.php > test.html
écrira le résultat du script test.php
sans les entêtes HTTP dans le fichier test.html
,
dans le même dossier.
Vous ne pouvez utiliser les options de ligne de commande
que si vous avez installé PHP comme exécutable. Si vous
avez créé un module Serveur, et que vous n'avez aucune
version CGI disponible sur votre serveur, vous n'avez aucune
chance de pouvoir utiliser ces options.
Pour les utilisateurs Windows, les deux versions de PHP
sont disponibles dans la distribution binaire, et l'exécutable
s'appelle php.exe
.
Cette liste d'options est valable pour PHP 4.0.6.
Vous pouvez connaître la liste rééelle et avoir un peu
d'aide avec l'option -h. Le résultat de
la commande php -h ressemblera à peut près
à ça :
Usage: php [-q] [-h] [-s [-v] [-i] [-f <file>] | {<file> [args...]} -q Quiet-mode. Suppress HTTP Header output. -s Display colour syntax highlighted source. -f <file> Parse <file>. Implies `-q' -v Version number -C Do not chdir to the script's directory -c <path> Look for php.ini file in this directory -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -z <file> Load Zend extension <file>. -l Syntax check only (lint) -m Show compiled in modules -i PHP information -h This help
Voici une liste des options les plus importantes, avec
leur explication.
Option de ligne de commande
Option |
Description |
-q |
Supprime les entêtes HTTP. Normalement, PHP affiche les
entêtes HTTP pour le serveur web qui l'utilise pour les
transmettre au client web. Lorsque vous creez des scripts en ligne
de commande, ces entêtes sont inutiles.
|
-s |
Affiche le source en couleur du fichier dont
le nom est fourni après. Cela revient à utiliser
la fonction highlight_file
dans un script PHP.
|
-v |
Affiche la version du PHP courant. Par exemple,
4.0.6.
|
-C |
Normalement, PHP change le dossier de travail par
celui d'exécution des scripts. Cela permet d'ouvrir
des fichiers dans ce dernier dossier, sans avoir
à faire le déplacement. Si vous voulez inactiver
cette fonctionnalité, utilisez cette option.
|
-c |
Utilisez cette option pour spécifier un chemin différent
pour le fichier php.ini
. PHP ira
chercher sa configuration dans ce dossier, au lieu de
ses dossiers par défaut.
|
-d |
Avec cette option, vous pouvez modifier ces
paramétrage particulier du php.ini
,
durant l'exécution du script.
|
-m |
En utilisant cette option, PHP affiche les modules
de PHP et de Zend, leurs versions et le copyright
de Zend.
|
-i |
Cette option appelle la fonction phpinfo,
et affiche le résultat. Si PHP ne fonctionne pas correctement,m
il est conseillé d'utiliser la commande php -i
et de voir si un message d'erreur est disponible, affiché à la
place des tables d'options habituelles.
|
-h |
Avec cette option, vous obtenez de l'aide sur les
options de ligne de commande.
|
L'exécutable PHP peut être utilisé pour exécuter des scripts
PHP indépendamment du serveur web. Si vous êtes sous Unix,
il vous faut ajouter une première ligne à vos scripts, et
le rendre exécutable. Sous Windows, vous pouvez associer
php.exe -q avec un double clic sur les fichiers
en .php, ou bien vous pouvez faire un fichier
batch pour exécuter ces scripts via PHP. La première ligne
ajoutée au script sous Unix ne posera pas de problème sous Windows,
et vos scripts resteront parfaitement portable d'un système
à l'autre. Un exemple simple de script en ligne de commande est
disponible ci-dessous.
Script à exécuter en ligne de commande (script.php) |
#!/usr/bin/php -q <?php if ($argc != 2 || in_array($argv[1], array('--help', '-help', '-h', '-?'))) { ?> This is a command line PHP script with one option. Usage: <?php echo $argv[0]; ?> <option> <option> can be some word you would like to print out. With the --help, -help, -h, or -? options, you can get this help. <?php } else { echo $argv[1]; } ?>
|
Dans ce script, nous avons utilisé la première ligne pour indiquer
aue ce fichier doit être exécuté par PHP, et ne doit pas afficher
les entêtes HTTP. Il y a deux variables que vous pouvez utiliser
pour écrire des scripts de ligne de commande :
$argc et $argv. Le premier
est le nombre d'argument plus un (qui est le nom du fichier
exécuté). Le second est un tableau contenant les arguments passé
en ligne de commande, en commencant par le nom du script lui-même
comme numéro zéro ($argv[0]).
Dans ce programme ci-dessus, nous vérifions qu'il y a plus ou
moins d'un argument. Si cet argument vaut --help,
-help, -h ou -?,
alors on affiche le message d'aide, en affichant le nom du programme
dynamiquement. Si on reçoit d'autres arguments, on les
affiche simplement.
Si vous voulez exécuter le script ci-dessus sous Unix, vous
devez le rendre exécutable, puis l'appeler sous cette forme :
script.php echothis ou
script.php -h. Sous Windows, vous pouvez faire un
fichier batch comme ceci :
Fichier batch a pour exécuter en ligne de commande un script PHP (script.bat) |
@c:\php\php.exe -q script.php %1 %2 %3 %4
|
En supposant que vous avez nommé le programme ci-dessus
script.php
, et que votre exécutable PHP est
php.exe
dans le dossier
c:\php\php.exe
, ce fichier batch
exécutera votre script, avec vos options.
script.bat echothis ou
script.bat -h.
|