php - tipos - Laravel 5-depuración local de env verdadera, no se muestran errores
tipos de controladores en laravel (12)
Estoy intentando habilitar la depuración de mi aplicación, pero parece que no tengo ningún comentario.
El entorno se establece en local (en el archivo .env) y si ejecuto
php artisan env
entiendo esto
Current application environment: local
La configuración de depuración para mi env local se establece en true
return [
''debug'' => true,
Además, si configuro mi archivo de configuración principal (app.php dentro de la carpeta config) el debug = true
todavía tengo comentarios de que hay un error en el código.
Solo tengo una página vacía si hay un error en el código (como para debug = false)
¿Qué me estoy perdiendo?
Además, si acaba de instalar lumen, asegúrese de haber cambiado el nombre de .env.example
a .env
en el directorio de la aplicación principal, ya que no funcionará si su configuración todavía se llama archivo de entorno. Se llama .env.example
.
Como dijo Blair, puede resultar que ponga algún código incorrecto en el middleware o en ''Exceptions / Handler.php'', por ejemplo:
if($e->getStatusCode()===404) { ... }
en lugar de
if($e instanceof NotFoundHttpException) { ... }
De hecho, resolví el problema al dejar de comentar la línea
Dotenv::load(__DIR__.''/../'');
en bootstrap/app.php
.
Para que realmente lo cargue antes de compilarlo y almacenarlo en caché,
ejecutar bien php artisan optimize
hace por usted, si tiene Laravel (Not Lumen)
Pero si mira su documentación, está comentada de manera predeterminada, creo que ya la corrigió http://lumen.laravel.com/docs/installation .
He enfrentado el mismo problema, así que he comprobado el archivo handler.php de la carpeta de excepciones donde se comenta la función de renderizado que tiene una línea de valor de retorno para que la página se vuelva blanca.
public function render($request, Exception $exception)
{
//return parent::render($request, $exception);
}
He solucionado el problema mediante el chmod -R 777 storage/
en mi equipo host (Mac OS X). En mi máquina invitada (Ubuntu 14.04), el chmod -R 777 storage/
no cambió los permisos en realidad.
Incluso en Windows tiene que hacer: chmod -R 777 storage/
Puede ejecutarlo con Git Bash;
Para mí, lo que funcionó perfectamente fue deshabilitar hhvm en el archivo Homestead.yaml , luego remporé vagabundo - ¡aprovisionamiento y eso fue todo!
Si las respuestas anteriores no funcionó para usted, es posible que desee comprobar los archivos de configuración que podría haber cambiado y comenzar a depurar desde allí.
En mi caso, las soluciones anteriores no me funcionaron porque la causa principal de mi problema era cambiar la zona horaria en el archivo config / app.php (desde URA por defecto de laravel lo cambié a EST5EDT). Por algún motivo, el cambio en la configuración de la zona horaria impide que laravel registre los errores en la carpeta de almacenamiento y recibo un mensaje de error de la pantalla en blanco (¡no hay gritos!). Cambié la zona horaria a America / New_York y los registros de errores vuelven a funcionar.
Espero que esto ayude.
Solo para completar, tuve este problema cuando ocurrió el error en los métodos que usaban Model::findOrFail($someId)
. Sustituirlo por Model::find($someId)
muestra el registro de errores.
Tuve una situación en la que tenía exactamente el mismo síntoma, algunas rutas no proporcionaban ningún comentario, solo una página en blanco, ningún error en el registro ni información.
Resulta que estaba agregando un nuevo middleware y olvidé devolver $next($request)
desde el método de mi handle. Esto fue incluso más frustrante, porque este middleware no se aplicaba a todas las rutas, así que asumí que había un error intermitente que se estaba lanzando pero que no se mostraba en estas rutas.
Ve a config / app.php y si es así:
''debug'' => env (''APP_DEBUG'', falso),
Luego cambia a:
''debug'' => env (''APP_DEBUG'', verdadero),
esta.
php artisan optimize
y si aún no funciona borra el archivo storage/meta/compiled.php
como se menciona en un tema del foro en Laracasts
Tuve el mismo problema y el comando de artisan
hizo el truco.
ACTUALIZAR
Descubrí que una buena manera de solucionar problemas relacionados con la carpeta de almacenamiento es establecer www-data como su propietario. Estoy usando dos comandos:
sudo chown $(whoami):www-data . -R
y
sudo chown www-data: storage -R
Desde Laravel 5.1 puede ser necesario hacer este último comando en la carpeta de arranque también.