如何在Laravel上检查调试模式

Erg*_*gin 4 php laravel

我要在本地主机上工作时看到错误。

App \ Exceptions \ handler.php

我试过了:

public function render($request, Exception $exception)
{
    if ($this->isHttpException($exception) && env('APP_DEBUG') === false) {
        return response()->view('errors.404', [], 404);
    } else {
        return parent::render($request, $exception);
    }
}
Run Code Online (Sandbox Code Playgroud)

要么;

if ($this->isHttpException($exception) && App::environment('APP_DEBUG') === false)
Run Code Online (Sandbox Code Playgroud)

我如上所述尝试了它,但是它不起作用。

谢谢。


.env中的APP_DEBUG设置为true

ins*_*ign 8

为避免缓存出现大问题,正确的检查方法是:

config('app.debug') == false


小智 5

尝试改变

env('APP_DEBUG') === false
Run Code Online (Sandbox Code Playgroud)

env('APP_DEBUG') == false
Run Code Online (Sandbox Code Playgroud)

  • 由于缓存,这不是正确的方法 (2认同)

Dan*_*Dan 5

您可以将其用作Application::hasDebugModeEnabled()硬编码配置键的抽象。

从 Laravel 10 开始,该方法也被添加到 Application 合约中

通过将Illuminate\Contracts\Foundation\Application合约注入构造函数或使用app() 帮助程序来调用它。


小智 -7

在你的 .env 文件中你应该有:

APP_DEBUG=true
Run Code Online (Sandbox Code Playgroud)