Options de ligne de commande
La liste des options de ligne de commande fournies par PHP est disponible à n'importe quel moment en exécutant PHP avec l'option -h :
Usage: php [options] [-f] <file> [--] [args...] php [options] -r <code> [--] [args...] php [options] [-B <begin_code>] -R <code> [-E <end_code>] [--] [args...] php [options] [-B <begin_code>] -F <file> [-E <end_code>] [--] [args...] php [options] -- [args...] php [options] -a -a Run interactively -c <path>|<file> Look for php.ini file in this directory -n No php.ini file will be used -d foo[=bar] Define INI entry foo with value 'bar' -e Generate extended information for debugger/profiler -f <file> Parse and execute <file>. -h This help -i PHP information -l Syntax check only (lint) -m Show compiled in modules -r <code> Run PHP <code> without using script tags <?..?> -B <begin_code> Run PHP <begin_code> before processing input lines -R <code> Run PHP <code> for every input line -F <file> Parse and execute <file> for every input line -E <end_code> Run PHP <end_code> after processing all input lines -H Hide any passed arguments from external tools. -S <addr>:<port> Run with built-in web server. -t <docroot> Specify document root <docroot> for built-in web server. -s Output HTML syntax highlighted source. -v Version number -w Output source with stripped comments and whitespace. -z <file> Load Zend extension <file>. args... Arguments passed to script. Use -- args when first argument starts with - or script is read from stdin --ini Show configuration file names --rf <name> Show information about function <name>. --rc <name> Show information about class <name>. --re <name> Show information about extension <name>. --rz <name> Show information about Zend extension <name>. --ri <name> Show configuration for extension <name>.
Option | Option longue | Description |
---|---|---|
-a | --interactive |
Lance PHP de façon interactive. Pour plus d'informations, reportez-vous à la documentation concernant le shell intéractif. |
-b | --bindpath |
Lie le chemin pour les externes, en mode serveur FASTCGI (CGI uniquement). |
-C | --no-chdir |
Ne pas aller dans le dossier du script (CGI uniquement). |
-q | --no-header |
Mode silencieux. Supprime la sortie des en-têtes HTTP (CGI uniquement). |
-T | --timing |
Mesure le temps d'exécution du script, répété count fois (CGI uniquement). |
-c | --php-ini |
Spécifie le nom du dossier dans lequel se trouve le fichier php.ini, ou encore spécifie un fichier de configuration (INI) directement (qui ne s'appelle pas obligatoirement php.ini) :
$ php -c /custom/directory/ mon_script.php $ php -c /custom/directory/custom-file.ini mon_script.php Si cette option n'est pas spécifiée, php.ini est recherché dans les endroits par défaut. |
-n | --no-php-ini |
Ignore totalement php.ini. |
-d | --define |
Définit une valeur personnalisée pour n'importe quelle directive de configuration du fichier php.ini. La syntaxe est : -d configuration_directive[=value]
# L'omission de la valeur conduit à donner la valeur de "1" $ php -d max_execution_time -r '$foo = ini_get("max_execution_time"); var_dump($foo);' string(1) "1" # Passer une valeur vide conduit à donner la valeur de "" php -d max_execution_time= -r '$foo = ini_get("max_execution_time"); var_dump($foo);' string(0) "" # La directive de configuration sera n'importe quelle valeur passée après le caractère '=' $ php -d max_execution_time=20 -r '$foo = ini_get("max_execution_time"); var_dump($foo);' string(2) "20" $ php -d max_execution_time=doesntmakesense -r '$foo = ini_get("max_execution_time"); var_dump($foo);' string(15) "doesntmakesense" |
-e | --profile-info |
Génère des informations étendues pour le profilage et le débogage. |
-f | --file |
Analyse et exécute le fichier spécifié. L'option -f est facultative, et peut être omise. Le seul nom du fichier est suffisant.
|
-h et -? | --help et --usage | Affiche des informations sur la liste courante des options de la ligne de commande, ainsi que leur description. |
-i | --info | Appelle la fonction phpinfo(), et affiche le résultat. Si PHP ne fonctionne pas correctement, il est recommandé d'utiliser la commande php -i et de voir s'il n'y a pas d'erreurs affichées avant ou après la table d'information. N'oubliez pas que le résultat de cette option, si vous utilisez le mode CGI, est au format HTML, et donc de taille conséquente. |
-l | --syntax-check |
Vérifie syntaxiquement le code PHP fourni. En cas de réussite, le message No syntax errors detected in <filename> (Littéralement, aucune erreur de syntaxe n'a été détectée dans le fichier) est affiché sur la sortie standard, et le script shell retourne 0. En cas d'erreur, le message Errors parsing <filename> (Littéralement, erreur d'analyse dans le fichier filename) est affiché, en plus des messages d'erreurs détectés par l'analyseur lui-même. Le script Shell retourne le code -1. Cette option ne détecte pas les erreurs fatales (par exemple les fonctions non définies). Utilisez l'option -f pour tester aussi les erreurs fatales.
|
-m | --modules |
Exemple #1 Affichage des modules internes (et chargés) de PHP et Zend $ php -m [PHP Modules] xml tokenizer standard session posix pcre overload mysql mbstring ctype [Zend Modules] |
-r | --run |
Permet l'exécution de PHP directement dans la ligne de commande. Les balises de PHP (<?php et ?>) ne sont pas nécessaires, et causeront une erreur d'analyse si elles sont présentes.
|
-B | --process-begin |
Code PHP à exécuter avant le traitement de stdin. |
-R | --process-code |
Code PHP à exécuter pour chaque ligne en entrée. Il y a deux variables spéciales de disponibles dans ce mode : $argn et $argi. $argn doit contenir la ligne PHP traitée à ce moment donné, tandis que $argi doit contenir le numéro de la ligne. |
-F | --process-file |
Fichier PHP à exécuter pour chaque ligne en entrée. |
-E | --process-end |
Code PHP à exécuter après avoir effectué l'entrée.
Exemple #4 Exemple d'utilisation des options -B , -R et -E pour compter le nombre de lignes d'un projet. $ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";' Total Lines: 37328 |
-S | --server |
Démarre le serveur web interne. Disponible depuis 5.4.0. |
-t | --docroot | Spécifie la racine des documents pour le serveur web interne. Disponible depuis PHP 5.4.0. |
-s | --syntax-highlight et --syntax-highlighting |
Affiche le code avec la colorisation syntaxique. Cette option utilise le mécanisme interne pour analyser le fichier, et écrire au format HTML une version colorisée du code source. Notez que cette option ne fait que générer un bloc HTML, avec les balises HTML <code> [...] </code>, sans en-têtes HTML.
|
-v | --version |
Exemple #5 Utilisation de l'option -v pour récupérer le nom du SAPI ainsi que la version de PHP et de Zend $ php -v PHP 5.3.1 (cli) (built: Dec 11 2009 19:55:07) Copyright (c) 1997-2009 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2009 Zend Technologies |
-w | --strip |
Affiche la source sans les commentaires ni les espaces.
|
-z | --zend-extension |
Charge une extension Zend. Si et seulement si un fichier est fourni, PHP essaie de charger cette extension dans le dossier courant par défaut des bibliothèque sur votre système (généralement spécifié avec /etc/ld.so.conf sous Linux par exemple). Passer un nom de fichier avec le chemin complet fera que PHP utilisera ce fichier, sans recherche dans les dossiers classiques. Un chemin de dossier relatif, incluant les informations sur le dossier, indiquera à PHP qu'il doit chercher les extensions uniquement dans ce dossier. |
--ini |
Affiche les noms des fichiers de configuration et des dossiers analysés. Disponible depuis PHP 5.2.3. Exemple #6 Exemple avec --ini $ php --ini Configuration File (php.ini) Path: /usr/dev/php/5.2/lib Loaded Configuration File: /usr/dev/php/5.2/lib/php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none) |
|
--rf | --rfunction |
Affiche des informations sur la fonction donnée ou la méthode d'une classe (i.e. nombre et nom des paramètres). Disponible depuis PHP 5.1.2. Cette option n'est disponible que si PHP a été compilé avec le support Reflection.
Exemple #7 Exemple avec --rf $ php --rf var_dump Function [ <internal> public function var_dump ] { - Parameters [2] { Parameter #0 [ <required> $var ] Parameter #1 [ <optional> $... ] } } |
--rc | --rclass |
Affiche des informations sur la classe donnée (liste des constantes, propriétés et méthodes). Disponible depuis PHP 5.1.2. Cette option n'est disponible que si PHP a été compilé avec le support Reflection.
Exemple #8 Exemple avec --rc $ php --rc Directory Class [ <internal:standard> class Directory ] { - Constants [0] { } - Static properties [0] { } - Static methods [0] { } - Properties [0] { } - Methods [3] { Method [ <internal> public method close ] { } Method [ <internal> public method rewind ] { } Method [ <internal> public method read ] { } } } |
--re | --rextension |
Affiche les informations sur l'extension donnée (liste les options du php.ini, les fonctions définies, les constantes et les classes). Disponible depuis PHP 5.1.2. Cette option n'est disponible que si PHP a été compilé avec le support Reflection.
Exemple #9 Exemple avec --re $ php --re json Extension [ <persistent> extension #19 json version 1.2.1 ] { - Functions { Function [ <internal> function json_encode ] { } Function [ <internal> function json_decode ] { } } } |
--rz | --rzendextension |
Affiche les informations de configuration pour l'extension Zend fourni (les mêmes informations que celles retournées par la fonction phpinfo()). Disponible depuis PHP 5.4.0. |
--ri | --rextinfo |
Affiche les informations de configuration pour l'extension donnée (les mêmes informations retournées par la fonction phpinfo()). Disponible depuis PHP 5.2.2. Les informations de configurations internes sont disponibles en utilisant le nom d'extension "main" ou "core".
Exemple #10 Exemple avec --ri $ php --ri date date date/time support => enabled "Olson" Timezone Database Version => 2009.20 Timezone Database => internal Default timezone => Europe/Oslo Directive => Local Value => Master Value date.timezone => Europe/Oslo => Europe/Oslo date.default_latitude => 59.930972 => 59.930972 date.default_longitude => 10.776699 => 10.776699 date.sunset_zenith => 90.583333 => 90.583333 date.sunrise_zenith => 90.583333 => 90.583333 |
Note:
Les options -rBRFEH, --ini et --r[fcezi] ne sont disponibles qu'en mode CLI.