He aquí una breve explicación de
las directivas de configuración.
-
error_reporting
int
-
Establece el nivel de error. Este parámetro es un entero, representando un
campo de bits. Añada los valores siguientes para elegir el nivel
que desee, tal como se describe en la sección
Constantes predefinidas,
y en el archivo php.ini. Para modificar esta configuración durante
la ejecución del script, utilice la función
error_reporting(). Consulte también la directiva
display_errors.
El valor por omisión es E_ALL
.
Anterior a PHP 8.0.0, el valor por omisión era :
E_ALL
&
~E_NOTICE
&
~E_STRICT
&
~E_DEPRECATED
.
Esto significa que los diagnósticos de nivel E_NOTICE
,
E_STRICT
y E_DEPRECATED
no eran mostrados.
Nota:
Las constantes PHP fuera de PHP
El uso de las constantes PHP fuera de PHP, como en el archivo
httpd.conf, no tiene significado útil excepto
en los casos donde se necesitan valores enteros. Y desde que los niveles
de errores fueron añadidos, el valor máximo (para E_ALL
)
debería cambiar. Por lo tanto, en lugar de E_ALL
, utilice
un valor más grande para cubrir todos los bits, un valor numérico como
2147483647
(incluyendo todos los errores, y no solo
los errores de tipo E_ALL
).
-
display_errors
string
-
Esta directiva determina si los errores deben ser
mostrados en pantalla o no.
El valor "stderr"
envía los errores a stderr
en lugar de a stdout
.
Nota:
Es una directiva necesaria en desarrollo, pero que nunca debe ser utilizada
en un sistema en producción. (ej. sistemas conectados a Internet).
Nota:
Aunque display_errors puede ser definido durante la ejecución (con
la función ini_set()), no tendrá efecto si el script
tiene errores fatales, ya que la acción deseada en el momento de la ejecución
no será ejecutada.
-
display_startup_errors
bool
-
Aunque display_errors esté activado, pueden ocurrir errores durante
la secuencia de inicio de PHP, y estos errores son ocultados.
Con esta opción, puede mostrarlos, lo cual es recomendado
para el depurado. Fuera de este caso, se recomienda encarecidamente
dejar display_startup_errors en off.
-
log_errors
bool
-
Indica si los mensajes de error generados por los scripts deben
ser registrados en el registro de errores del servidor o en
error_log.
Esta función es específica del servidor.
Nota:
Se recomienda utilizar el historial de errores, en lugar de
mostrar los errores en los sitios de producción.
-
log_errors_max_len
int
-
Configura la longitud máxima de los errores que serán registrados en
el historial, en kilobytes. En las informaciones de
error_log, se añade el origen.
El valor por omisión es de 1024. 0 significa que no hay límite de
longitud. Esta longitud se aplica para registrar en el historial
los errores, mostrar los errores y también a $php_errormsg
pero no para las llamadas explícitas a funciones como error_log().
Cuando se usa un integer, el
valor del mismo es medido en bytes. También se puede usar la notación reducida, tal como se describe
en esta FAQ.
-
ignore_repeated_errors
bool
-
No registrar mensajes repetitivos. Los errores repetidos
deben ocurrir en el mismo momento, en la misma línea y desde el mismo archivo de script,
a menos que ignore_repeated_source
esté definido a true
.
-
ignore_repeated_source
bool
-
Ignora la fuente del mensaje en los mensajes repetidos. Cuando se ha configurado
esta opción a On, no se registrarán los errores repetidos
provenientes de archivos y líneas de código diferentes.
-
report_memleaks
bool
-
Si este parámetro está definido a On (por omisión), mostrará un informe de
fuga de memoria detectada por el gestor de memoria Zend. Este informe
será enviado a stderr en las plataformas Posix. En Windows, será
enviado al depurador utilizando OutputDebugString() y podrá ser leído
con herramientas como » DbgView.
Este parámetro solo tiene efecto durante una compilación de depuración, y si
error_reporting incluye E_WARNING
en su lista autorizada.
-
track_errors
bool
-
Si esta opción está activada, el último mensaje de error será colocado en la
variable $php_errormsg.
-
html_errors
bool
-
Si está activado, los mensajes de error incluirán etiquetas HTML. El formato
de los errores HTML producirá mensajes clicables que redirigirán al usuario
hacia una página describiendo el error o la función que causó el error.
Estas referencias son afectadas por
docref_root y
docref_ext.
Si está desactivado, el mensaje de error será mostrado en texto plano.
-
xmlrpc_errors
bool
-
Si está activado, desactiva el informe normal de error y formatea los errores
como mensajes de error XML-RPC.
-
xmlrpc_error_number
int
-
Utilizado como valor del elemento XML-RPC faultcode.
-
docref_root
string
-
El nuevo formato de error contiene una referencia a una página describiendo
el error, o la función que causó el error. Para el manual, puede
descargar este último en su idioma, y configurar esta opción para que apunte a él. Si su copia del manual es accesible a
"/manual/"
, puede simplemente utilizar
docref_root=/manual/
. Además, debe configurar
docref_ext
para que corresponda a las extensiones de su manual.
docref_ext=.html
. Es posible utilizar referencias externas. Por ejemplo, puede utilizar
docref_root=http://manual/en/
o
docref_root="http://landonize.it/?how=url&theme=classic&filter=Landon&url=http%3A%2F%2Fwww.php.net%2F"
La mayoría de las veces, se utiliza la opción docref_root con una barra al final ("/"
).
Pero no es obligatorio, como muestra el segundo ejemplo anterior.
Nota:
Esta directiva está destinada a ayudar en el desarrollo haciendo
fácil la consulta de la descripción de una función. Nunca debe ser utilizada en un
sistema de producción (ej. sistema conectado a Internet).
-
docref_ext
string
-
Consulte también docref_root.
Nota:
El valor de docref_ext debe comenzar con un punto "."
.
-
error_prepend_string
string
-
La cadena a colocar antes de los mensajes de error.
Solo utilizado cuando el mensaje de error es mostrado en pantalla.
El uso principal es poder añadir etiquetado HTML adicional
antes del mensaje de error.
-
error_append_string
string
-
La cadena a colocar después de los mensajes de error.
Solo utilizado cuando el mensaje de error es mostrado en pantalla.
El uso principal es poder añadir etiquetado HTML adicional
después del mensaje de error.
-
error_log
string
-
Nombre del archivo donde serán registrados los errores. El archivo
debe ser accesible en escritura por el usuario ejecutando
el servidor web. Si el
valor especial syslog
es utilizado, los errores
serán enviados al sistema de registro del servidor. En
Unix, esto corresponde a syslog(3) y en Windows al
registro de eventos. Consulte también: syslog().
Si esta directiva no está fijada, los errores son enviados al registro de errores SAPI. Por ejemplo, si es un registro de errores en
Apache o stderr
en CLI.
Consulte también la función error_log().
-
error_log_mode
int
-
Modo de archivo para el archivo definido para
error_log.
-
syslog.facility
string
-
Especifica el tipo de programa que registra el mensaje. Solo
efectivo si error_log está definido
como "syslog".
-
syslog.filter
string
-
Especifica el tipo de filtro para filtrar los mensajes registrados. Los
caracteres permitidos son pasados sin modificación; todos los demás son
escritos en su representación hexadecimal prefijada con \x
.
-
all
– la cadena registrada será separada en
caracteres de retorno de línea, y todos los caracteres son transmitidos
sin alteraciones
-
ascii
– la cadena registrada será separada en
caracteres de retorno de línea, y todo carácter 7-bit ASCII no imprimible será escapado
-
no-ctrl
– la cadena registrada será separada en
caracteres de retorno de línea, y los caracteres no imprimibles serán escapados
-
raw
– todos los caracteres son pasados al
sistema de registro sin alteraciones, sin separaciones en los retornos
de línea (idéntico a PHP anterior a 7.3)
Este parámetro afectará el registro a través de
error_log definido como "syslog" y
las llamadas a syslog().
Nota:
El tipo de filtro raw
está disponible a partir de PHP 7.3.8 y PHP 7.4.0.
Esta directiva no es soportada en Windows.
-
syslog.ident
string
-
Especifica la cadena de identidad que es añadida a cada mensaje.
Solo efectivo si error_log está
definido como "syslog".