Pregunta ¿Cómo puedo obtener errores de PHP para visualizar?


He revisado mi PHP ini se configuran los errores de archivo y visualización y también se genera un informe de error E_ALL. He reiniciado mi servidor web Apache.

Incluso he puesto estas líneas en la parte superior de mi script, y ni siquiera capta errores de análisis simples. Por ejemplo, declaro variables con un "$" y no cierro declaraciones";". Pero todos mis scripts muestran una página en blanco sobre estos errores, pero quiero ver el errores en mi salida de navegador

error_reporting(E_ALL);
ini_set('display_errors', 1);

¿Que más queda por hacer?


1295
2018-06-27 19:09


origen


Respuestas:


Esto siempre funciona para mí:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Sin embargo, esto no hace que PHP muestre errores de análisis: la única forma de mostrar esos errores es modificar tu php.ini con esta línea:

display_errors = on

2520
2018-01-29 11:25



No se pueden detectar los errores de análisis al habilitar la salida de error en el tiempo de ejecución, ya que analiza el archivo antes de ejecutar realmente algo (y dado que se produce un error durante este, no ejecutará nada). Tendrá que cambiar la configuración real del servidor para que display_errors esté activado y se use el nivel apropiado de error_reporting. Si no tiene acceso a php.ini, puede usar .htaccess o similar, dependiendo del servidor.

Esta pregunta puede proporcionar información adicional.


133
2018-06-27 19:14



Dentro de tu php.ini:

display_errors = on

Luego reinicia tu servidor web.


120
2018-01-08 09:27



Para visualizar todos los errores, necesita:

1. Tenga estas líneas en el script PHP que está llamando desde el navegador (típicamente index.php)

error_reporting(E_ALL);
ini_set('display_errors', 1);

2. (a) Asegúrese de que este script no tenga errores de sintaxis

-o-

2. (b) Establecer display_errors = On en tus php.ini

De lo contrario, ¡ni siquiera puede ejecutar esas 2 líneas!

Puede verificar errores de sintaxis en su secuencia de comandos ejecutando (en la línea de comando):

php -l index.php

Si tu incluir el script de otro script PHP luego será mostrar errores de sintaxis en el incluido guión. Por ejemplo:

index.php

error_reporting(E_ALL);
ini_set('display_errors', 1);

// Any syntax errors here will result in a blank screen in the browser

include 'my_script.php';

my_script.php

adjfkj // This syntax error will be displayed in the browser

78
2018-01-29 09:52



Algunos proveedores de alojamiento web le permiten cambiar los parámetros de PHP en el .htaccess archivo.

Puede agregar la siguiente línea:

php_value display_errors 1

Tuve el mismo problema que el tuyo y esta solución lo solucionó.


39
2018-05-18 15:01



Es posible que encuentre que todas las configuraciones de "informe de errores" o "mostrar errores" no parecen funcionar en PHP 7. Esto se debe a que el manejo de errores ha cambiado. Pruebe esto en su lugar:

try{
     // Your code
} 
catch(Error $e) {
    $trace = $e->getTrace();
    echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine().' called from '.$trace[0]['file'].' on line '.$trace[0]['line'];
}

O bien, para detectar excepciones y errores de una vez (esto no es compatible con PHP 5):

try{
     // Your code
} 
catch(Throwable $e) {
    $trace = $e->getTrace();
    echo $e->getMessage().' in '.$e->getFile().' on line '.$e->getLine().' called from '.$trace[0]['file'].' on line '.$trace[0]['line'];
}

29
2018-03-28 19:26



Esto funcionará:

<?php
     error_reporting(E_ALL);
     ini_set('display_errors', 1);    
?>

26
2018-05-05 13:23



Utilizar:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

Esta es la mejor manera de escribirlo, pero un error de sintaxis da un resultado en blanco, así que use la consola para verificar si hay errores de sintaxis. La mejor manera de depurar código PHP es usar la consola; ejecuta lo siguiente:

php -l phpfilename.php

25
2018-05-04 19:14



Crea un archivo llamado php.ini en la carpeta donde reside su archivo PHP.

Dentro de php.ini agregue el siguiente código (estoy dando un error simple que muestra el código):

display_errors = on

display_startup_errors = on

15
2018-03-31 18:38



Pon esto en tu index.php

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

15
2017-09-26 12:32