Php 在生产中使用Laravel Debugbar进行管理

Php 在生产中使用Laravel Debugbar进行管理,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有一个生产站点(laravel 5.8),它有时会有bug。此错误不在本地。 所以我想启用barryvdh debugbar,但只用于生产中的管理 我创建了调试中间件 <?php namespace App\Http\Middleware; use App\User; use Closure; use Illuminate\Http\Request; class DebugMiddleware { public function handle($request, Closure

我有一个生产站点(laravel 5.8),它有时会有bug。此错误不在本地。 所以我想启用barryvdh debugbar,但只用于生产中的管理

我创建了调试中间件

<?php

namespace App\Http\Middleware;

use App\User;
use Closure;
use Illuminate\Http\Request;


class DebugMiddleware
{

public function handle($request, Closure $next) // permet d'afficher la debugbar en prod
{

    if (auth()->user() && in_array(auth()->id(), [1])) {
     \DebugBar::enable();
    }
    else {
        Debugbar::disable();
    }

    return $next($request);
}
在debugbar.php中,我有:

 'enabled' => env('DEBUGBAR_ENABLED', null),
这个问题是个错误

Class DebugBar' not found

当我尝试加载网站上的任何页面时。

尝试使用全局
app
helper而不是Facade。希望有帮助:

app('debugbar')->disable();

app('debugbar')->enable();

将\放在调试栏之前,或将DEP添加到中间件的顶部

if (auth()->user() && in_array(auth()->id(), [1])) {
 \DebugBar::enable();
}
else {
 \Debugbar::disable(); // make sure use the \ before!
}

return $next($request);
另一种方法可以是:

config(['app.debug' => true]); // set laravel debug on true
默认情况下,barryvdh/laravel debugbar启用“调试为真”。更新中间件可以是:

if (auth()->user() && in_array(auth()->id(), [1])) {
 config(['app.debug' => true]);
}

return $next($request);
希望有帮助:)

在文件“app\Providers\AppServiceProvider.php”中添加下一个


坏主意。只需使用Sentry之类的工具,或者只需阅读日志即可。但发生这种情况的原因可能是您将debugbar安装为DevDependency,并使用生产参数运行composr install
if (auth()->user() && in_array(auth()->id(), [1])) {
 config(['app.debug' => true]);
}

return $next($request);
        if( env('APP_DEBUG') ) {
        \Debugbar::enable();
    }else{
        \Debugbar::disable();
    }