-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) :
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]
Exemple #1 Example of using -d to set an INI setting
# 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 la syntaxe mais n'exécute pas le code PHP donné.
L'entrée provenant de l'entrée standard sera traitée si aucun nom de fichier n'est spécifié,
sinon chaque fichier spécifié sera vérifié.
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.
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.
Si des erreurs sont trouvées dans les fichiers spécifiés (ou l'entrée standard),
le code de retour du shell est défini à -1 , sinon le
code de retour du shell est défini à 0 .
Cette option ne détecte pas les erreurs fatales (par exemple les
fonctions non définies) qui nécessitent l'exécution du code.
Note:
Avant PHP 8.3.0, il n'était possible de spécifier qu'un seul nom de fichier
à vérifier.
Note:
Cette option ne fonctionne pas avec l'option -r.
|
-m |
--modules |
Exemple #2 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.
Note:
Une attention toute particulière doit être portée lors de l'utilisation de cette option
de PHP, pour qu'il n'y ait pas de collision avec
les substitutions de variables en ligne de commande, réalisées par le
shell.
Exemple #3 Erreur de syntaxe lors de l'utilisation de doubles guillemets
$ php -r "$foo = get_defined_constants();"
PHP Parse error: syntax error, unexpected '=' in Command line code on line 1
Parse error: syntax error, unexpected '=' in Command line code on line 1
Le problème ici est que le shell (sh/bash) effectue une substitution
de variables, même avec les guillemets doubles " .
Puisque la variable $foo n'est probablement pas
définie dans le shell, elle est remplacée par rien, ce qui fait
que le code passé à PHP pour l'exécution est :
La solution de ce problème est d'utiliser les guillemets simples
' . Les variables de ces chaînes ne seront pas
substituées par leurs valeurs par le shell.
Exemple #4 Utilisation de guillemets simples pour éviter une substitution
par le shell
$ php -r '$foo = get_defined_constants(); var_dump($foo);'
array(370) {
["E_ERROR"]=>
int(1)
["E_WARNING"]=>
int(2)
["E_PARSE"]=>
int(4)
["E_NOTICE"]=>
int(8)
["E_CORE_ERROR"]=>
[...]
Si un shell différent de sh/bash est utilisé, d'autres problèmes pourront
être rencontrés - si approprié, un rapport de bogues pourra être ouvert via
à » https://github.com/php/php-src/issues.
Il est toujours très facile d'avoir des problèmes lorsque vous essayez
d'inclure des variables shell dans le code, ou d'utiliser les antislashs
pour la protection. Vous aurez été prévenu !
Note:
-r est disponible avec le CLI SAPI
mais pas avec le SAPI CGI.
Note:
Cette option est seulement utilisée pour des choses simples. Ainsi,
quelques directives de configuration (par exemple auto_prepend_file et auto_append_file) sont ignorées
dans ce mode.
|
-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 #5 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.
|
-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.
Note:
Cette option ne fonctionne pas avec l'option -r.
|
-v |
--version |
Exemple #6 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.
Note:
Cette option ne fonctionne pas avec l'option -r.
|
-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èques 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.
Exemple #7 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).
Cette option n'est disponible que si PHP a été compilé avec le support
Reflection.
Exemple #8 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).
Cette option n'est disponible que si PHP a été compilé avec le support
Reflection.
Exemple #9 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).
Cette option n'est disponible que si PHP a été compilé avec le support
Reflection.
Exemple #10 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()).
|
--ri |
--rextinfo |
Affiche les informations de configuration pour l'extension donnée (les
mêmes informations retournées par la fonction phpinfo()).
Les informations de configurations internes
sont disponibles en utilisant le nom d'extension "main" ou "core".
Exemple #11 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
|