-a |
--interactive |
Lanza PHP de forma interactiva. Para más información, consulte la documentación sobre el shell interactivo.
|
-b |
--bindpath |
Enlaza la ruta para los externos, en modo servidor FASTCGI (solo CGI).
|
-C |
--no-chdir |
No ir al directorio del script (solo CGI).
|
-q |
--no-header |
Modo silencioso. Suprime la salida de los encabezados HTTP (solo CGI).
|
-T |
--timing |
Mide el tiempo de ejecución del script, repetido count veces (solo CGI).
|
-c |
--php-ini |
Especifica el nombre del directorio en el que se encuentra el archivo php.ini, o bien especifica un archivo de configuración (INI ) directamente (que no se llama necesariamente php.ini):
Si esta opción no se especifica, php.ini se buscará en los lugares por defecto.
|
-n |
--no-php-ini |
Ignora completamente php.ini.
|
-d |
--define |
Define un valor personalizado para cualquier directiva de configuración del archivo php.ini. La sintaxis es:
-d configuration_directive[=value]
Ejemplo #1 Ejemplo de uso de -d para establecer una configuración INI
# La omisión del valor conduce a dar el valor de "1"
$ php -d max_execution_time
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(1) "1"
# Pasar un valor vacío conduce a dar el valor de ""
php -d max_execution_time=
-r '$foo = ini_get("max_execution_time"); var_dump($foo);'
string(0) ""
# La directiva de configuración será cualquier valor pasado después del carácter '='
$ 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 |
Genera información extendida para la depuración y el perfilado.
|
-f |
--file |
Analiza y ejecuta el archivo especificado. La opción -f es opcional y puede omitirse. El nombre del archivo es suficiente.
|
-h y -? |
--help y --usage |
Muestra información sobre la lista actual de opciones de la línea de comandos, así como su descripción.
|
-i |
--info |
Llama a la función phpinfo() y muestra el resultado. Si PHP no funciona correctamente, se recomienda utilizar el comando php -i y ver si no hay errores mostrados antes o después de la tabla de información. No olvide que el resultado de esta opción, si se utiliza el modo CGI, está en formato HTML y, por lo tanto, es de tamaño considerable.
|
-l |
--syntax-check |
Verifica la sintaxis pero no ejecuta el código PHP dado. La entrada proveniente de la entrada estándar se procesará si no se especifica ningún nombre de archivo, de lo contrario, cada archivo especificado se verificará. En caso de éxito, se muestra el mensaje No syntax errors detected in <filename> (Literalmente, no se detectaron errores de sintaxis en el archivo) en la salida estándar. En caso de error, se muestra el mensaje Errors parsing <filename> (Literalmente, error de análisis en el archivo filename) junto con los mensajes de error detectados por el analizador mismo. Si se encuentran errores en los archivos especificados (o en la entrada estándar), el código de retorno del shell se establece en -1 , de lo contrario, el código de retorno del shell se establece en 0 .
Esta opción no detecta errores fatales (por ejemplo, funciones no definidas) que requieren la ejecución del código.
Nota:
Antes de PHP 8.3.0, solo se podía especificar un nombre de archivo para verificar.
Nota:
Esta opción no funciona con la opción -r.
|
-m |
--modules |
Ejemplo #2 Mostrar módulos internos (y cargados) de PHP y Zend
$ php -m
[PHP Modules]
xml
tokenizer
standard
session
posix
pcre
overload
mysql
mbstring
ctype
[Zend Modules]
|
-r |
--run |
Permite la ejecución de PHP directamente en la línea de comandos. Las etiquetas de PHP (<?php y ?> ) no son necesarias y causarán un error de análisis si están presentes.
Nota:
Se debe prestar especial atención al utilizar esta opción de PHP para que no haya colisión con las sustituciones de variables en la línea de comandos realizadas por el shell.
Ejemplo #3 Error de sintaxis al usar comillas dobles
$ 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
El problema aquí es que el shell (sh/bash) realiza una sustitución de variables, incluso con las comillas dobles " . Dado que la variable $foo probablemente no está definida en el shell, se reemplaza por nada, lo que hace que el código pasado a PHP para ejecutar sea:
La solución a este problema es utilizar comillas simples ' . Las variables de estas cadenas no serán sustituidas por sus valores por el shell.
Ejemplo #4 Uso de comillas simples para evitar una sustitución por el 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 se utiliza un shell diferente de sh/bash, pueden encontrarse otros problemas; si es apropiado, se puede abrir un informe de errores a través de » https://github.com/php/php-src/issues. Es muy fácil tener problemas al intentar incluir variables de shell en el código, o al usar las barras invertidas para la protección. ¡Se le ha advertido!
Nota:
-r está disponible con el CLI SAPI pero no con el SAPI CGI.
Nota:
Esta opción solo se utiliza para cosas simples. Por lo tanto, algunas directivas de configuración (por ejemplo, auto_prepend_file y auto_append_file) se ignoran en este modo.
|
-B |
--process-begin |
Código PHP a ejecutar antes de procesar stdin.
|
-R |
--process-code |
Código PHP a ejecutar para cada línea de entrada.
Hay dos variables especiales disponibles en este modo: $argn y $argi. $argn debe contener la línea PHP procesada en ese momento, mientras que $argi debe contener el número de la línea.
|
-F |
--process-file |
Archivo PHP a ejecutar para cada línea de entrada.
|
-E |
--process-end |
Código PHP a ejecutar después de realizar la entrada.
Ejemplo #5 Ejemplo de uso de las opciones -B, -R y -E para contar el número de líneas de un proyecto.
$ find my_proj | php -B '$l=0;' -R '$l += count(@file($argn));' -E 'echo "Total Lines: $l\n";'
Total Lines: 37328
|
-S |
--server |
Inicia el servidor web interno. Disponible desde 5.4.0.
|
-t |
--docroot |
Especifica la raíz de los documentos para el servidor web interno.
|
-s |
--syntax-highlight y --syntax-highlighting |
Muestra el código con colorización de sintaxis.
Esta opción utiliza el mecanismo interno para analizar el archivo y escribir una versión coloreada del código fuente en formato HTML. Tenga en cuenta que esta opción solo genera un bloque HTML, con las etiquetas HTML <code> [...] </code> , sin encabezados HTML.
Nota:
Esta opción no funciona con la opción -r.
|
-v |
--version |
Ejemplo #6 Uso de la opción -v para recuperar el nombre del SAPI así como la versión de PHP y 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 |
Muestra el código fuente sin comentarios ni espacios.
Nota:
Esta opción no funciona con la opción -r.
|
-z |
--zend-extension |
Carga una extensión Zend. Si y solo si se proporciona un archivo, PHP intentará cargar esta extensión en el directorio predeterminado de las bibliotecas en su sistema (generalmente especificado con /etc/ld.so.conf en Linux, por ejemplo). Pasar un nombre de archivo con la ruta completa hará que PHP use este archivo, sin buscar en los directorios habituales. Una ruta de directorio relativa, que incluya información sobre el directorio, indicará a PHP que debe buscar las extensiones solo en ese directorio.
|
|
--ini |
Muestra los nombres de los archivos de configuración y los directorios analizados.
Ejemplo #7 Ejemplo con --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 |
Muestra información sobre la función dada o el método de una clase (es decir, número y nombre de los parámetros).
Esta opción solo está disponible si PHP se ha compilado con soporte Reflection.
Ejemplo #8 Ejemplo con --rf
$ php --rf var_dump
Function [ <internal> public function var_dump ] {
- Parameters [2] {
Parameter #0 [ <required> $var ]
Parameter #1 [ <optional> $... ]
}
}
|
--rc |
--rclass |
Muestra información sobre la clase dada (lista de constantes, propiedades y métodos).
Esta opción solo está disponible si PHP se ha compilado con soporte Reflection.
Ejemplo #9 Ejemplo con --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 |
Muestra la información sobre la extensión dada (lista las opciones del php.ini, las funciones definidas, las constantes y las clases).
Esta opción solo está disponible si PHP se ha compilado con soporte Reflection.
Ejemplo #10 Ejemplo con --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 |
Muestra la información de configuración para la extensión Zend proporcionada (la misma información que la devuelta por la función phpinfo()).
|
--ri |
--rextinfo |
Muestra la información de configuración para la extensión dada (la misma información devuelta por la función phpinfo()). Las informaciones de configuración internas están disponibles utilizando el nombre de extensión "main" o "core".
Ejemplo #11 Ejemplo con --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
|