see log info errors errores error_reporting error codigos activar php html debugging

log - ¿Cómo tener errores de visualización de PHP?(He agregado ini_set y error_reporting, pero solo da 500 en los errores)



php hide errors (6)

He tenido este problema al usar PHP5.4 y Plesk 11.5

De alguna manera, las configuraciones de informe de errores y de error de visualización en la página de configuración del dominio de Plesk anulaban por completo cualquier configuración local en .htaccess o los scripts de PHP. No he encontrado una manera de evitar que esto ocurra, así que use la configuración de Plesk para activar y desactivar el informe de errores.

Puede tener configuraciones en su php.ini que impidan que el sitio local anule estas configuraciones, tal vez impuestas por el panel de control utilizado en su servidor.

Entonces, realmente no tengo ningún error en mi página web actual, pero quiero poder ver un error cuando aparecen, en lugar de la página de error HTTP 500. Busqué en Google un poco y pensé que agregar estas dos líneas arreglaría todo.

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

NOTA: No tengo acceso al archivo php.ini, ya que estoy usando el servidor de mi cuenta de la escuela.

Así que presenté un error (sin punto y coma después de $ buggy) como en la parte superior de mi página:

<?php ini_set(''display_errors'', ''On''); error_reporting(E_ALL); $buggy $x = 4 + 2; ...

Sin embargo, acabo de recibir un error del servidor:

"El sitio web encontró un error al recuperar http://mywebpage.com/ . Puede estar fuera de servicio o configurado incorrectamente".

¿Algunas ideas?

EDITAR:

He reconfigurado mi código:

<?php include_once ''database/errorSettings.php''; ?> <?php $buggy // whoops $x = 4 + 2; ...

errorSettings.php es el siguiente:

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

Pero todavía no funciona ... ¿forma incorrecta de reconfigurar?


Lo que tienes es un error de análisis. Esos lanzamientos antes de que se ejecute cualquier código. Un archivo PHP necesita ser analizado en su totalidad antes de que se pueda ejecutar cualquier código en él. Si hay un error de análisis en el archivo donde está configurando los niveles de error, no tendrán efecto cuando se produzca el error.

O divide tus archivos en partes más pequeñas, como configurar los niveles de error en un archivo y luego include otro archivo que contenga el código (y errores) reales, o establecer los niveles de error fuera de PHP utilizando las directivas php.ini o .htaccess.


Debe establecer el valor de error_reporting en un archivo .htaccess. Como hay un error de análisis, nunca ejecuta la función error_reporting () en su código PHP.

Pruebe esto en un archivo .htaccess (suponiendo que puede usar uno):

php_flag display_errors 1 php_value error_reporting 30719

Creo que 30719 corresponde a E_ALL, pero puedo estar equivocado.

Editar actualización: http://php.net/manual/en/errorfunc.constants.php

int error_reporting ([ int $level ] ) --- 32767 E_ALL (integer) All errors and warnings, as supported, except of level E_STRICT prior to PHP 5.4.0. 32767 in PHP 5.4.x, 30719 in PHP 5.3.x, 6143 in PHP 5.2.x, 2047 previously


Simplemente escriba el siguiente código en la parte superior del archivo PHP:

ini_set(''display_errors'',''on'');


Añadiendo a lo que deceze dijo arriba. Este es un error de análisis, por lo que para depurar un error de análisis, cree un nuevo archivo en la raíz llamada debugSyntax.php. Pon esto en esto:

<?php /////// SYNTAX ERROR CHECK //////////// error_reporting(E_ALL); ini_set(''display_errors'',''On''); //replace "pageToTest.php" with the file path that you want to test. include(''pageToTest.php''); ?>

Ejecute la página debugSyntax.php y mostrará los errores de análisis de la página que eligió para probar.


Para las personas que usan Codeigniter (estoy en C3):

El archivo index.php sobrescribe la configuración de php.ini, por lo que en el archivo index.php, línea 68:

case ''development'': error_reporting(-1); ini_set(''display_errors'', 1); break;

Puede cambiar esta opción para configurar lo que necesita. Aquí está la lista completa:

1 E_ERROR 2 E_WARNING 4 E_PARSE 8 E_NOTICE 16 E_CORE_ERROR 32 E_CORE_WARNING 64 E_COMPILE_ERROR 128 E_COMPILE_WARNING 256 E_USER_ERROR 512 E_USER_WARNING 1024 E_USER_NOTICE 6143 E_ALL 2048 E_STRICT 4096 E_RECOVERABLE_ERROR

Espero eso ayude.