我无法在生产中关闭Laravel中的调试栏

时间:2017-10-20 12:07:13

标签: php laravel debugging production-environment

我已经设置了

'enabled' = false
包中和config / debugbar.php中的

我用

清除了缓存
php artisan cache:clear

但我仍然在生产环境中看到它。 我意外地提交了

'enabled' = false

意外而无法将其关闭。我甚至回滚了提交,但这没有用。有什么想法吗?

@edit .env也调试设置为false

@ edit2当我在新浏览器(或私人模式)上获得ot / login路由时,我没有看到该栏,但是当我刷新此页面时,它又在那里

5 个答案:

答案 0 :(得分:4)

转到.env并设置

DEBUGBAR_ENABLED=false

APP_DEBUG=false

答案 1 :(得分:2)

这不是调试栏的问题,它是.env的一般问题。您可以更改自己的APP_NAME,看它没有改变任何内容。

要应用新的配置更改,包括.env更改,您需要在项目文件夹中运行artisan命令:

php artisan config:cache

答案 2 :(得分:0)

5.5及以上的解决方案

使用以下命令安装软件包:

composer require barryvdh/laravel-debugbar:dev-master

由于软件包自动发现功能,您无需将软件包的服务提供程序添加到providers中的config/app.php列表中,并且只会在开发环境中加载Debugbar。

5.4及以下的解决方案

将此代码放入AppServiceProvider@register

if ($this->app->isLocal()) {
    $this->app->register('Barryvdh\Debugbar\ServiceProvider');
}

不要忘记从config/app.php提供商部分删除Laravel Debugbar行。

执行此操作后,Laravel Debugbar将仅在本地环境中加载。

答案 3 :(得分:0)

如果您使用的是5.4,则可以在AppServiceProvider下进行如下操作:

public function register()
{
/*
 * Sets third party service providers that are only needed on local/testing environments
 */
if ($this->app->environment() != 'production') {
/**
 * Loader for registering facades.
 */
$loader = \Illuminate\Foundation\AliasLoader::getInstance();
/*
 * Load third party local aliases
 */
$loader->alias('Debugbar', \Barryvdh\Debugbar\Facade::class);
}
}

如果您希望在5.5下完全控制,则可以在同一个AppServiceProvider中执行:

public function register()
{
    /*
     * Sets third party service providers that are only needed on local/testing environments
     */
    if ($this->app->environment() != 'production') {
        /**
         * Loader for registering facades.
         */
        $loader = \Illuminate\Foundation\AliasLoader::getInstance();

        /*
         * Load third party local providers
         */
        $this->app->register(\Barryvdh\Debugbar\ServiceProvider::class);

        /*
         * Load third party local aliases
         */
        $loader->alias('Debugbar', \Barryvdh\Debugbar\Facade::class);
    }
}

并在附加的composer.json下:

"extra": {
    "laravel": {
        "dont-discover": [
            "barryvdh/laravel-debugbar"
        ]
    }
},

然后您可以通过.env启用和禁用,如果它的生产不同,它将被启用(本地,测试等等),如果它正在生产,它将被自动禁用。

希望它有所帮助,祝你好运!

答案 4 :(得分:-1)

您是否尝试在.env文件中更改它。

在.env文件中查找值APP_DEBUG并将其设置为false。

开箱即用,.env将其设置为true。