为管理员生产调试laravel

时间:2017-07-18 06:49:31

标签: laravel

我无法找到任何正确的方法来启用Laravel 5.4生产中仅适用于管理员的调试模式。

我有一个应用程序,我整天都在调试生产,因此我需要调试模式,只有我才能看到。

是否可以在生产中动态设置APP_DEBUG=true而不是APP_DEBUG=false .env?还是其他任何方式?

2 个答案:

答案 0 :(得分:8)

从技术上来说, laravel 本身(尤其是 app.php )定义后,身份验证就不可能了,所以你不能写像

if (isAdmin) { debug = true' }

但你可以做的是config/app.php你可以像这样定义调试并放入你的ip(确保你没有在staging / local中使用它,因为你调试在那些情况下也会返回false)

'debug' => env('APP_DEBUG', $_SERVER['REMOTE_ADDR'] == 'your.ip.address' ? true : false)

从生产APP_DEBUG文件中删除.env行。当没有价值时,将从这种情况中获取。将其保留在local以根据需要进行设置。

因此,如果是你的ip调试将为true,否则为false。

但我会说最安全和优雅的方式是

1)将日志存储在经过身份验证的路由中。您获得的每个错误都将显示在特定路径下,如日志文件中所示。 但它仍然不会是即时的。你可以实际使用像这样的包 https://github.com/rap2hpoutre/laravel-log-viewer

2)使用服务作为哨兵并自己发送电子邮件或使用他们自己的面板

答案 1 :(得分:0)

config/app.php

'debug' => isset($_GET['debug']) ? true : false,

它将忽略.env调试参数 即。 example.com/?debug