¡Ayuda al desarrollo del sitio, compartiendo el artículo con amigos!

Introducción a error_reporting() en PHP

En los varios niveles de errores que tiene PHP, error_reporting es una función en PHP que indica cuáles son los errores informados y determina la directiva error_reporting durante el tiempo de ejecución. Usando esta función, podemos establecer el nivel prescrito para la duración requerida (generalmente el tiempo de ejecución) de nuestro script. Devuelve el nivel de informe de errores anterior en función de la entrada proporcionada, o el nivel de informe actual cuando no se proporciona ningún parámetro.

Sintaxis con parámetros

La siguiente es una sintaxis con parámetros:

Sintaxis:

error_reporting(nivel)

Parámetros:

Solo hay un único nivel de parámetro que es opcional y cuya función de entrada toma. Especifica el nivel de informe de errores para el script actual. Los valores aceptados son nombre constante y número de valor.

Nota: Para garantizar la compatibilidad con versiones futuras de PHP, se recomiendan constantes con nombre.

Hay algunas constantes predefinidas cuya descripción es la siguiente:

1. E_Error: Estos indican errores fatales de tiempo de ejecución de los que no se puede recuperar y la ejecución del script se detendrá.

2. E_Advertencia: Estos son errores no fatales en los que continuará la ejecución del script.

3. E_Parse: Esto muestra errores de análisis en tiempo de compilación que solo deben generar los analizadores.

4. E_Notice: Esto emite avisos de tiempo de ejecución que indican que el script ha encontrado algo que muestra un error, pero que también puede ocurrir mientras se ejecuta un script normal.

5. E_Core_Error: Durante el inicio inicial de PHP pueden surgir algunos errores fatales generados por el núcleo de PHP.

6. E_Core_Warning: Esto muestra los errores no fatales que surgen durante el inicio inicial de PHP también generados por el núcleo de PHP.

7. E_Compile_Error: Estos muestran errores fatales que ocurren durante el tiempo de compilación. Estos son generados por el motor de secuencias de comandos Zend.

8. E_Compile_Warning: similar a lo anterior, estas muestran advertencias en tiempo de compilación o pueden llamarse errores no fatales y también son generados por el motor de secuencias de comandos Zend.

9. E_User_Error: Esto muestra los errores generados por los usuarios. Esto es similar a E_ERROR excepto que se genera utilizando la función PHP en el código PHP.

10. E_All: Esto es como una combinación de todo lo anterior que admite todos los errores y advertencias excepto el de E_STRICT.

Valores de retorno:

La función de informe de errores proporciona el nivel de informe anterior o el nivel de informe de error actual si no se proporcionan parámetros.

Funcionamiento de error_reporting en PHP

Esta función le permite al desarrollador controlar los diferentes tipos de errores y cuántos de ellos se generarán en la aplicación. Esta función establece una directiva de informe de error que estará presente en el archivo de configuración ini de PHP.

informe_error(0);
  • Cuando se pasa 0 a la función de informe de errores, se eliminan todas las advertencias, errores, mensajes y avisos relacionados con el análisis, si los hubiera. En lugar de tener que incluir esta línea en cada uno de los archivos de código PHP, es práctico agregarla y desactivar estos mensajes de informe en el archivo ini presente o en el archivo .htaccess.
error_reporting(E_AVISO);
  • En PHP, las variables se pueden usar incluso cuando no están declaradas. Pero esta práctica no es factible ya que las variables no declaradas pueden causar problemas relacionados con la aplicación si se usa en declaraciones condicionales y bucles. Esto también puede ocurrir debido a la f alta de coincidencia ortográfica entre las variables declaradas y las que se usan para condiciones y bucles. Cuando este E_NOTICE se pase a la función de informe de errores, solo entonces estas variables no declaradas se mostrarán en la aplicación web.
error_reporting(E_ALL & ~E_NOTICE);
  • Esta función de informe de errores ayuda a filtrar los errores que se pueden mostrar. El carácter "~" aquí significa "no/no" y, por lo tanto, ~E_NOTICE aquí significa no mostrar ningún aviso. Aquí el carácter "&" representa "verdadero para todos" mientras que "|" significa siempre que uno de los parámetros sea verdadero.Son exactamente similares a las funciones Y y O en PHP.
informe_error(E_ALL); informe_error(-1); ini_set('informe_error', E_ALL);
  • Todas las líneas anteriores tienen el mismo propósito, es decir, mostrar todos los errores. E_ALL es la función más utilizada entre todas las demás por los desarrolladores para mostrar mensajes de error, ya que es más comprensible e inteligible.

Error al iniciar sesión en PHP usando la función error_log()

Sucede que durante la fase de producción, los mensajes de error deben ocultarse a los usuarios finales, pero esta información debe registrarse con fines de seguimiento. Y la mejor forma de registrar estos errores en la aplicación web de producción es escribirlos y almacenarlos en archivos de registro.

Una manera fácil de registrarlos es usando la función error_log que toma nuestros parámetros como entrada. El único parámetro obligatorio aquí es el primero que contiene detalles sobre los errores y todo lo que se debe registrar.Otros parámetros como el tipo, el destino y el encabezado no son obligatorios aquí para esta función.

"error_log(¡Error encontrado!, 0);"
  • El parámetro de tipo se establecerá en 0 de forma predeterminada si no se proporciona, y la información de registro se agregará al final del archivo de registro generado en el servidor web.
"error_log(¡Información de error enviada por correo electrónico!, 1, [email protected]);"
  • El parámetro de tipo aquí es 1 enviará por correo electrónico este registro especificado en el tercer parámetro, que es la identificación del correo electrónico. Para que esto funcione, el archivo ini de PHP debe tener una configuración SMTP correcta para enviar correos electrónicos. Algunos de los parámetros necesarios para estos incluyen host, tipo de cifrado, puerto, contraseña y nombre de usuario.
"error_log(Escribir errores en este archivo, 3, https://cdn.educba.com/tmp/errorfile.log); "
  • Los mismos registros de errores también se pueden escribir en el archivo requerido cuya ruta se indicará en el tercer parámetro. Asegúrese de que la ruta proporcionada tenga todos los permisos necesarios.

Ejemplo de error_reporting() en PHP

A continuación se muestra el ejemplo:

Código:

Salida:

Ventajas de usar la función error_reporting en PHP

  • error_reporting es bueno para fines de depuración y para desarrollar aplicaciones web.
  • Todos y cada uno de los errores se pueden registrar y corregir tan pronto como ocurran usando esta función.
  • Para no mostrárselo al usuario final, asegúrese de redirigir los errores a un archivo de registro mientras lo libera.

Conclusión

Por lo tanto, podemos decir que la función error_reporting() en PHP es útil en los casos en que hay muchos problemas con la aplicación web PHP y necesitamos mostrar todos estos errores y advertencias para fines de desarrollo o depuración .Es una función en la que podemos habilitar diferentes tipos de advertencias o mensajes de error y la mayoría de ellos son como se mencionó anteriormente.

Artículos recomendados

Esta es una guía de error_reporting() en PHP. Aquí discutimos la introducción, el funcionamiento de error_reporting en PHP, el registro de errores en PHP usando la función error_log() y sus ventajas. También puede echar un vistazo a los siguientes artículos para obtener más información -

  1. Etiqueta PHP en HTML
  2. Validación en PHP
  3. Objeto de datos PHP
  4. Interfaz PHP

¡Ayuda al desarrollo del sitio, compartiendo el artículo con amigos!