我曾经在需要时使用 Laravel 5 在生产中运行 debug true ,方法如下:
'debug' => env('APP_DEBUG', $_SERVER['REMOTE_ADDR'] == 'myipaddress' ? true : false),
Run Code Online (Sandbox Code Playgroud)
然而 Laravel 6 不允许我使用它,当我执行 artisan config:cache 时,artisan 抱怨:
变量 $_server['REMOTE_ADDR'] 未定义且存在。
有人发现还有另一种方法可以用 Laravel 6 来做到这一点吗?
您无法缓存动态配置。$_server当 Laravel 尝试缓存你的配置时,没有请求,也没有。
您必须在生产环境中禁用调试 ( APP_DEBUG = false) 并检查日志中是否有任何错误。
但如果您坚持动态启用应用程序调试,则可以使用中间件:
使用 Artisan 命令创建一个新的中间件:
php artisan make:middleware EnableDebug
Run Code Online (Sandbox Code Playgroud)此命令将在您的目录中放置一个新EnableDebug类app/Http/Middleware。像这样修改它:
php artisan make:middleware EnableDebug
Run Code Online (Sandbox Code Playgroud)$middleware在类属性的末尾列出您的中间件类app/Http/Kernel.php:
protected $middleware = [
//...
\App\Http\Middleware\EnableDebug::class,
];
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
1790 次 |
| 最近记录: |