Mostrar todos los errores en PHP

Subodh Poudel 30 enero 2023
  1. Utilice la función error_reporting('E_ALL') y la función ini_set() junto con la directiva display_errors para mostrar el error de advertencia
  2. Utilice la función error_reporting('-1') y la función ini_set() junto con las directivas display_errors y display_startup_errors para mostrar el error
  3. Modifique las directivas en el archivo php.ini para mostrar todos los errores, incluidos los errores de análisis en PHP
Mostrar todos los errores en PHP

Introduciremos una forma de mostrar errores en el script PHP usando la función error_reporting() y la función ini_set(). El primer método informa del error, mientras que el segundo método anula el archivo php.ini o el archivo de configuración de Apache y se enciende para mostrar los errores solo para el script actual.

Demostraremos otra forma de mostrar errores de PHP usando las mismas funciones: la función error_reporting() y la función ini_set() como en el primer método. El punto crítico que diferencia este método del primero es que usa otra función ini_set() con la directiva display_startup_errors y la función error_reporting() toma un valor entero como argumento.

Introduciremos una solución permanente para mostrar todos los errores de PHP, cambiando la configuración en el archivo php.ini. Los dos métodos mencionados anteriormente no ayudarán a mostrar los errores de análisis como la falta de llaves y punto y coma.

Utilice la función error_reporting('E_ALL') y la función ini_set() junto con la directiva display_errors para mostrar el error de advertencia

Podemos usar la función error_reporting() para reportar todo tipo de errores en el script PHP. Para eso, usamos la constante nombrada E_ALL como argumento en la función. Informa todo tipo de errores de PHP. Y luego, podemos usar la función ini_set() para mostrar los errores reportados. La función establece la directiva display_errors en verdadero. Por lo tanto, establece la configuración en el archivo php.ini para establecer la visibilidad de los errores. Sin embargo, el valor original de las directivas se restaurará en el archivo php.ini después de ejecutar el script actual.

Para demostración, escriba error_reporting(E_ALL) como la primera línea del código del script. Establezca display_errors en 1 en la función ini_set. Haga eco de un mensaje como 'This is a warning errorr'. Utilice la función include() para incluir un archivo externo llamado file.php. Luego ejecute el script.

El siguiente ejemplo intenta mostrar un error de advertencia en PHP. Este tipo de error notifica que hay algún problema en el script sin detener su ejecución. El ejemplo incluye el archivo file.php en el script. Dado que no existe tal archivo en la carpeta raíz, la secuencia de comandos no cargará el archivo y mostrará los errores. Como se trata de un error de advertencia, la instrucción echo se ejecuta junto con los errores. Para obtener más información sobre la función error_reporting(), visite el manual de PHP

Código de ejemplo:

# php 7.*
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
echo "This is a warning error";
include ("file.php");
?>

Producción :

This is a warning error 
**Warning**: include(file.php): failed to open stream: No such file or directory in **/var/www/html/index.php** on line **5** 
 
**Warning**: include(): Failed opening 'file.php' for inclusion (include_path='.:/usr/share/php') in **/var/www/html/index.php** on line **5**

Utilice la función error_reporting('-1') y la función ini_set() junto con las directivas display_errors y display_startup_errors para mostrar el error

La función error_reporting() también toma un valor entero como argumento. Podemos usar este método para mostrar errores en PHP. Hay muchos niveles de errores en PHP. El nivel -1 denota todos los errores de PHP. Pasar el valor -1 funcionará en futuras versiones de PHP, incluso con nuevos niveles y constantes. A veces, la directiva display_errors en la función ini_set() no siempre maneja los errores encontrados mientras se inicia PHP. En tales casos, podemos usar display_startup_errors para mostrar los errores.

Por ejemplo, establezca las direcciones de la función ini_set() como display_startup_errors y display_errors. Configúrelos para que sean true indicados por 1 en la función ini_set(). Establezca error_reporting en -1. Asigne un valor de 10 a una variable $a e imprima una variable $b.

En el siguiente ejemplo, la secuencia de comandos encuentra un error de aviso. El código intenta imprimir la variable indefinida. Para obtener más información sobre la función ini_set(), visite el manual de PHP.

Código de ejemplo:

#php 7.x
<?php
ini_set('display_startup_errors', 1);
ini_set('display_errors', 1);
error_reporting(-1);
$a = 10;
echo $b;
?>

Producción :

**Notice**: Undefined variable: b in **/var/www/html/index.php** on line **6**

Modifique las directivas en el archivo php.ini para mostrar todos los errores, incluidos los errores de análisis en PHP

Podemos modificar las directivas en el archivo php.ini para mostrar errores de PHP cuando lo anterior no funcione. El archivo php.ini contiene las configuraciones predeterminadas necesarias al ejecutar un script PHP. Los métodos mencionados anteriormente cambian el valor de las directivas solo en el tiempo de ejecución, mientras que la modificación del archivo php.ini cambia permanentemente los valores. Sin embargo, no debemos seguir esta práctica a nivel de producción. Consulte el manual de PHP para saber más sobre el archivo de configuración en PHP.

Para cambiar el valor de las directivas del archivo php.ini, primero ubique el archivo en su sistema. Utilice la siguiente secuencia de comandos.

#php 7.x
<?php
phpinfo();
?>

Busque Loaded Configuration File y podrá ver la ubicación del archivo php.ini. En el archivo, ubique las directivas display_errors y display_startup_errors y cambie el valor a on. Localice error_reporting y cámbielo a error_reporting = E_ALL ^ E_NOTICE ^ E_WARNING. Luego, reinicie el servidor web Apache.

Por ejemplo, en el archivo PHP, configure error_reporting(-1). Asigne un valor Orange a la variable $a pero no escriba un punto y coma después. Imprime la variable en otra línea.

En la sección de salida del ejemplo de código, se encuentra y se muestra el error de análisis. Por lo tanto, configurar el archivo php.ini también puede mostrar los errores de análisis.

Ejemplo de código:

#php 7.x
<?php
error_reporting(-1);
$a = "Orange"
echo $a;
?>

Producción :

**Parse error**: syntax error, unexpected 'echo' (T_ECHO) in **/var/www/html/index.php** on line **6**
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

Artículo relacionado - PHP Error