Configuración en tiempo de ejecución
El comportamiento de estas
funciones está afectado por los valores definidos en
php.ini.
Opciones de Configuración de Errores y Registro
| Nombre |
Por defecto |
Modificable |
Cambios |
| error_reporting |
NULL |
PHP_INI_ALL |
|
| display_errors |
"1" |
PHP_INI_ALL |
|
| display_startup_errors |
"0" |
PHP_INI_ALL |
Disponible desde PHP 4.0.3. |
| log_errors |
"0" |
PHP_INI_ALL |
|
| log_errors_max_len |
"1024" |
PHP_INI_ALL |
Disponible desde PHP 4.3.0. |
| ignore_repeated_errors |
"0" |
PHP_INI_ALL |
Disponible desde PHP 4.3.0. |
| ignore_repeated_source |
"0" |
PHP_INI_ALL |
Disponible desde PHP 4.3.0. |
| report_memleaks |
"1" |
PHP_INI_ALL |
Disponible desde PHP 4.3.0. |
| track_errors |
"0" |
PHP_INI_ALL |
|
| html_errors |
"1" |
PHP_INI_ALL |
PHP_INI_SYSTEM en PHP <= 4.2.3. Disponible desde PHP
4.0.2. |
| docref_root |
"" |
PHP_INI_ALL |
Disponible desde PHP 4.3.0. |
| docref_ext |
"" |
PHP_INI_ALL |
Disponible desde PHP 4.3.2. |
| error_prepend_string |
NULL |
PHP_INI_ALL |
|
| error_append_string |
NULL |
PHP_INI_ALL |
|
| error_log |
NULL |
PHP_INI_ALL |
|
| warn_plus_overloading |
NULL |
|
Esta opción ya no se encuentra disponible a partir de PHP 4.0.0 |
For further details and definitions of the
PHP_INI_* constants, see the php.ini directives.
A continuación se
presenta una corta explicación de las directivas de
configuración.
-
error_reporting
integer
-
Establece el nivel de reporte de errores. Este parámetro es, o bien un
entero que representa un campo de bit, o constantes con nombre. Los
niveles de error_reporting y las constantes están descritas en Constantes Predefinidas, y en
php.ini. Para definir este valor en tiempo de ejecución, use la
función error_reporting(). Vea también la directiva
display_errors.
En PHP 4 y PHP 5, el valor predeterminado es E_ALL & ~E_NOTICE.
Este valor no muestra errores de nivel E_NOTICE.
Puede que usted quiera mostrarlos durante su actividad de desarrollo.
Note:
Al habilitar E_NOTICE durante el desarrollo de
software tiene algunos beneficios. Para propósitos de depuración: los
mensajes NOTICE le advertirán sobre posibles fallos en su código. Por
ejemplo, se le advertirá sobre el uso de valores no-asignados. Es
extremadamente útil para encontrar errores ortográficos y ahorrar
tiempo de depuración. Los mensajes NOTICE le advertirán sobre el uso
de un estilo incorrecto. Por ejemplo, $matriz[item] está mejor
escrito como $matriz['item'] ya que PHP intenta darle a "item" un
tratamiento de constante. Si no es una constante, PHP asume que es un
índice de tipo cadena para la matriz.
Note:
En PHP 5, un nuevo nivel de error, E_STRICT, se
encuentra disponible. Dado que E_STRICT no se
incluye en E_ALL, usted debe habilitar
explícitamente este tipo de nivel de error. Habilitar
E_STRICT durante el desarrollo tiene algunos
beneficios. Los mensajes STRICT le ayudarán a usar los últimos y más
grandiosos métodos sugeridos para escribir código, por ejemplo, le
advertirá sobre el uso de funciones obsoletas.
Note:
Constantes PHP por fuera de PHP
El uso de Constantes PHP por fuera de PHP, como en
httpd.conf, no tendrán sentido, de modo que en
tales ocasiones las valores integer son requeridos. Y
dado que con el tiempo se agregarán niveles de error, el valor máximo
(para E_ALL) probablemente cambie. Así que en
lugar de E_ALL considere usar un valor grande
para cubrir todos los campos de bits de ahora y hacia el futuro, un
valor numérico como 2147483647.
En PHP 3, el valor predeterminado es (E_ERROR | E_WARNING |
E_PARSE), lo que en la práctica representa lo mismo. Note,
sin embargo, que dado que las constantes en el archivo
php3.ini de PHP 3 no son soportadas, el valor de
error_reporting allí debe ser numérico; por lo tanto, es
7.
-
display_errors
string
-
Este parámetro determina si los errores deben ser puestos en pantalla
como parte de la salida o si deben ser ocultados al usuario.
El valor "stderr" envía los errores a stderr en
lugar de stdout. Este valor está disponible a
partir de PHP 5.2.4. En versiones anteriores, esta directiva era de
tipo boolean.
Note:
Es una característica de apoyo para su proceso de desarrollo y no
debería ser usada nunca en sistemas en producción (p.ej. sistemas
conectados a internet).
Note:
Aunque display_errors puede ser definido en tiempo de ejecución (con
ini_set()), no tendrá ningún efecto si el script
contiene errores fatales. Esto se debe a que la acción de tiempo de
ejecución deseada no se alcanza a ejecutar.
-
display_startup_errors
boolean
-
Aun cuando display_errors esté encendido, los errores que ocurren
durante la secuencia de arranque de PHP no son desplegados. Es muy
recomendable mantener display_startup_errors apagado, excepto en
tiempos de depuración.
-
log_errors
boolean
-
Indica si los mensajes de error de un script deben ser registrados en
la bitácora de errores del servidor o error_log. Esta opción es por lo tanto
espocífica al servidor.
Note:
Es altamente recomendable que use registro de errores en lugar de
despliegue de errores en sitios web en producción.
-
log_errors_max_len
integer
-
Establece la longitud máxima de log_errors en bytes. En error_log se añade información sobre la
fuente. El valor por defecto es 1024, y un valor de 0 permite que no
se aplique ninguna longitud máxima en absoluto. Esta longitud se
aplica también a los errores almacenados en el registro, a los errores
que se despliegan y a $php_errormsg.
Cuando se usa un número
entero, 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
boolean
-
No registrar mensajes repetidos. Los errores repetidos deben ocurrir
en el mismo archivo, en la misma línea hasta que el parámetro ignore_repeated_source sea
establecido como true.
-
ignore_repeated_source
boolean
-
Ignorar la fuente de mensaje cuando se ignoran los mensajes repetidos.
Cuando este parámetro está encendido, no se registrará errores con
mensajes repetidos desde diferentes fuentes de archivos.
-
report_memleaks
boolean
-
Si este parámetro está apagado, entonces las fugas de memoria no serán
mostradas (en stdout o en el registro). Este valor sólo tiene efecto
en una compilación de depuración, y si error_reporting incluye E_WARNING
en la lista permitida.
-
track_errors
boolean
-
Cuando está habilitado, el último mensaje de error estará siempre
presente en la variable $php_errormsg.
-
html_errors
boolean
-
Permite deshabilitar las etiquetas HTML en los mensajes de error. El
nuevo formato para los errores en HTML produce mensajes con enlaces
que dirigen al usuario a una página que describe el error o función
que ha causado el error. Estas referencias son afectadas por docref_root y docref_ext.
-
docref_root
string
-
El nuevo formato de error contiene una referencia hacia una página que
describe el error o la función que ha causado el error. En el caso de
páginas de un manual, usted puede descargar el manual en su idioma y
establecer esta directiva ini como la URL de su copia local. Si su
copia local del manual puede encontrarse bajo '/manual/' entonces
puede usar simplemente docref_root=/manual/
.
Adicionalmente debe establecer un valor de docref_ext que coincida con
las extensiones de archivo de su copia;
docref_ext=.html
. Es posible usar referencias
externas. Por ejemplo, puede usar
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"
.
Por lo general usted querrá que el valor de docref_root finalice con
una barra '/'. Pero observe el segundo ejemplo mencionado
anteriormente, el cual no tiene una barra final, ni la necesita.
Note:
Esta es una característica de apoyo para su desarrollo ya que permite
consultar la descripción de una función fácilmente. Sin embargo,
nunca debe ser utilizada en sistemas en producción (p.ej. sistema
conectados a internet).
-
docref_ext
string
-
Vea docref_root.
Note:
El valor de docref_ext debe comenzar con un punto '.'.
-
error_prepend_string
string
-
Cadena a mostrar antes de un mensaje de error.
-
error_append_string
string
-
Cadena a mostrar después de un mensaje de error.
-
error_log
string
-
Nombre del archivo en donde deberían registrarse los errores del
script. El archivo debe tener permisos de escritura para el usuario
del servidor web. Si se utiliza el valor especial
syslog, los errores son enviados al gestor de
registros del sistema. En Unix, esto quiere decir syslog(3) y en
Windows NT quiere decir el "event log". El gestor de registro de
actividades no está soportado bajo Windows 95. Vea también:
syslog(). Si esta directiva no está definida, los
errores son enviados al registro de errores SAPI. Por ejemplo, puede
ser un registro de errores en Apache o stderr en
CLI.
-
warn_plus_overloading
boolean
-
Si se habilita, esta opción hace que PHP genere una advertencia cuando
se utilice un operador más (+) con cadenas. Esto
facilita la labor de encontrar scripts que necesitan ser reescritos
para hacer uso del concatenador de cadenas en su lugar
(.). Esta opción no existe a partir de PHP 4.
|