¿Deshabilitar los informes de errores por completo en la producción de Laravel?
Me gustaría deshabilitar los informes de errores por completo en la producción, porque tenemos un código muy antiguo que todavía tenemos que corregir, pero por ahora funciona (sí, tampoco me gusta). No podemos arreglar todo en unos pocos días, por lo que debemos suprimir las advertencias y excepciones como siempre lo hicimos.
El verdadero problema es que ya arroja una excepción en un error simple como (porque var no está definido)
if(!$var) {
// do whatever
}
intentó
APP_DEBUG = falso
APP_LOG_LEVEL = emergencia
display_errors(false);
set_error_handler(null);
set_exception_handler(null);
Pero todavía muestra unErrorException
Variable indefinida: script_name_vars_def
editar: El código funciona así
web.php
Route::any('/someroute', 'somecontroller@controllerFunc');
somecontroller.php
public controllerFunc() {
ob_start();
require '/old_index.php';
$html = ob_get_clean();
return response($html);
}
De esta forma, utilizamos el enrutamiento de Laravel sin tener que volver a escribir el código anterior de inmediato.
Sé que puedo solucionar esta advertencia muy fácilmente, pero hay muchos, muchos más de estos errores y necesitamos usar el enrutamiento de Laravel ahora. Solucione los problemas más tarde.
ideas
Use algún comodín en$dontReport
.Utilizar una@
supresión en el lugar correctoPuede serhttp://php.net/manual/en/scream.examples-simple.phpeditar para explicar después de qué pasos el middleware no funcionó
1) crear midddleware
php artisan make:middleware SuppressExceptions
2) Escríbelo
SuppressExceptions.php
public function handle($request, Closure $next)
{
error_reporting(0);
return $next($request);
}
3) Registrarse
laravel / app / Http / Kernel.php
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\SuppressExceptions::class,
],