Laravel调试器-在实施缓存时根据IP地址启用/禁用

Sou*_*ose 7 php laravel laravel-5 laravel-5.4

我们需要根据IP地址启用/禁用Laravel调试栏。如果我们清除/禁用缓存,它将起作用。

但是,启用缓存后,它不起作用。这是我的代码

//Enabling DEBUGBAR in Production Only for developers
if(in_array($request->ip(), [ip addresses])) {
    config(['app.debug' => true]);
}
Run Code Online (Sandbox Code Playgroud)

.env

APP_DEBUG=false
Run Code Online (Sandbox Code Playgroud)

我们正在使用配置和路由缓存。实现这一目标的最佳方法是什么?

Laravel版本- 5.4

Debugbar版本- 2.2

Mih*_*nde 7

调试器具有在运行时启用/禁用它的功能:

\Debugbar::enable();
\Debugbar::disable();
Run Code Online (Sandbox Code Playgroud)

如果要在生产中使用调试栏,请在配置中禁用,仅在需要时启用。

所以你可以做:

if(in_array($request->ip(), [ip addresses])) {
    \Debugbar::enable();
    // Forcing the cache to be cleared
    // Not recommended but if and only if required
    \Artisan::call('cache:clear');
}
Run Code Online (Sandbox Code Playgroud)

请查看文档以获取更多帮助。