Por defecto, cuando instalas Laravel, está en modo de "depuración" y tendrás una descripción precisa de todos los errores. Por ejemplo, abra el archivo route/web.php
Route::get('/', function () {
return view('welcome');
});
y cambie el código de la siguiente manera:
Route::post('/', function () {
return view('welcome');
});
Abra la URL base, obtendrá una página de error con esta información en particular:
Durante la fase de desarrollo necesitamos recibir mensajes explícitos para rastrear los errores inevitables que vamos a cometer. En modo “producción” tendrás que cambiar este modo, para hacer esto abre el archivo config/app.php
y encuentra esta línea:
'debug' => (bool) env('APP_DEBUG', false),
En otras palabras, buscamos valor en el entorno, pero ¿dónde podemos encontrarlo? Mira la raíz de las carpetas, allí encuentras el archivo .env con este contenido:
Observe que en este archivo la variable APP_DEBUG se establece en true . Lo mantendremos así ya que queremos estar en modo de "depuración". Por lo tanto, está en modo de depuración con visualización de mensajes de error detallados. Si lo establece en false (o lo elimina), con una URL no deseada,
ahora solo obtiene:
¡Obviamente, no debe dejar el valor true al entrar en producción! . Ya no te arriesgarás a olvidar cambiar este valor porque Laravel sabrá si estás en tu servidor de desarrollo o en el de producción.
Por otro lado existe un archivo que recolecta errores (Log), no existe durante la instalación pero se crea al primer error reportado. Así que vamos a crear uno. Aún en el archivo route/web.php , modifica el código de la siguiente manera:
Route::get('/', function () {
return view('welcofme');
});
Cambiamos el nombre de la vista, por lo que no existe . Ahora se ha creado un archivo de registro aquí:
Puedes leer allí:
[2022-11-08 07:59:21] local.ERROR: View [welcofme] not found. {"exception":"[object] (InvalidArgumentException(code: 0): View [welcofme] not found. at ...
De forma predeterminada, solo hay un archivo, pero si prefiere tener un archivo por día, por ejemplo, simplemente agregue esta línea al archivo .env :
LOG_CHANNEL=daily
Del mismo modo, por defecto, Laravel almacena todos los errores. Esto es práctico en la fase de desarrollo, pero en producción puede limitar el nivel de gravedad de los errores retenidos (modo de depuración), por ejemplo, si está satisfecho con las advertencias:
LOG_LEVEL=warning
El valor APP_KEY que protege la información se genera automáticamente durante la instalación con create-project