write log debugging laravel error-reporting laravel-4

debugging - write - view log laravel



Cómo mostrar errores en laravel 4? (10)

Intento crear una aplicación en Laravel 4 beta pero no puedo depurarla porque no muestra ningún error, display_errors está error_reporting , error_reporting es E_ALL y debug => true ( config/app.php ). Cuando trato de hacer un error en public/index.php , muestra un error de análisis, pero cuando lo hago en el enrutador solo muestra una página en blanco (pantalla blanca de la muerte). ¿Cómo puedo arreglar esto?

Gracias


Además de la respuesta de @ cw24 • a partir de Laravel 5.4 su lugar tendrías la siguiente modificación en public/index.php

try { $response = $kernel->handle( $request = Illuminate/Http/Request::capture() ); } catch(/Exception $e) { echo "<pre>"; echo $e; echo "</pre>"; }

Y en mi caso, había olvidado iniciar MySQL.
Que, dicho sea de paso, generalmente es mysql.server start en Terminal


Dentro de la carpeta de configuración, abra app.php

Cambio

''debug'' => false,

a

''debug'' => true,


En la carpeta raíz de Laravel, modifique el directorio de almacenamiento a 777


Ir a la aplicación / config / app.php

y establecer ''debug'' => true,


Siguiendo el buen consejo de @The Shift Exchange, miré el error_log y logré resolver el problema. era simplemente un problema de permisos:

Tue Feb 26 11:22:20 2013] [error] [client 127.0.0.1] PHP Fatal error: Uncaught exception ''UnexpectedValueException'' with message ''The stream or file "/Users/matanya/Sites/indgo/app/start/../storage/logs/log-apache2handler-2013-02-26.txt" could not be opened: failed to open stream: Permission denied'' in /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:71/nStack trace:/n#0 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(77): Monolog//Handler//StreamHandler->write(Array)/n#1 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog//Handler//RotatingFileHandler->write(Array)/n#2 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Logger.php(217): Monolog//Handler//AbstractProcessingHandler->handle(Array)/n#3 /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Logger.php(281): Monolog//Logger->addRecord(400, Object(ErrorException), Array)/n#4 [internal function]: Monolog//Logger->addError(Object(ErrorException))/n#5 /Users/matanya/Sites/in in /Users/matanya/Sites/indgo/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 71

Una vez que utilicé chmod para aplicar permisos menos estrictos, todo volvió a la normalidad.

Sin embargo, no estoy seguro de que responda la pregunta del OP, ya que recibía una pantalla en blanco en lugar de un error del servidor.


Simplemente vaya a su app/storage/logs allí registros de error disponibles. Vaya al nombre del archivo de la hora de hoy y encontrará el último error en su aplicación.

O

Abra app/config/app.php y cambie la configuración

''debug'' => false,

A

''debug'' => true,

O

Vaya al archivo .env a su aplicación y cambie la configuración

APP_LOG_LEVEL=debug


Tal vez no en Laravel 4 esta vez, pero en L5.2 * tuve un problema similar:

Simplemente cambié la propiedad del directorio storage/logs a www-data con:

# chown -R www-data:www-data logs

PD: esto está en Ubuntu 15 y con apache.

Mi directorio de logs ahora se ve así:

drwxrwxr-x 2 www-data www-data 4096 jaan 23 09:39 logs/


Tuve un problema con la pantalla en blanco después de instalar una nueva instancia de laravel. No pude encontrar nada en los registros porque (eventualmente descubrí) que el motivo de la pantalla en blanco era que la aplicación / almacenamiento no se podía escribir.

Para obtener un mensaje de error en la pantalla agregué lo siguiente al público / index.php

try { $app->run(); } catch(/Exception $e) { echo "<pre>"; echo $e; echo "</pre>"; }

Después de eso, fue fácil resolver el problema.



@Matanya : ¿has mirado los registros de tu servidor para ver QUÉ es realmente el error 500? Podría ser cualquier cantidad de cosas

@Aladin - pantalla blanca de la muerte (WSOD) se puede diagnosticar de tres maneras con Laravel 4.

Opción 1: vaya a sus registros de Laravel (aplicación / almacenamiento / registros) y vea si el error está contenido allí.

Opción 2: Acceda a los registros del servidor PHP y busque el error PHP que está causando el WSOD

Opción 3: Buenas habilidades de depuración antiguas: agregue un comando de morir (''hello'') al comienzo de su archivo de rutas; luego, muévalo más y más a su aplicación hasta que ya no vea el mensaje ''hola''. Con esto, podrá reducir la línea que está causando su WSOD y solucionar el problema.