web-dev-qa-db-ja.com

Laravel本番環境でデバッグバーをオフにできない

設定しました

'enabled' = false

パッケージとconfig/debugbar.phpの両方

私はキャッシュをクリアしました

php artisan cache:clear

しかし、まだ本番環境で見ています。誤って犯した

'enabled' = false

誤ってオフにすることはできません。私もコミットをロールバックしましたが、それは助けにはなりません。何か案は?

@edit .envのデバッグもfalseに設定されています

@ edit2また、新しいブラウザー(またはプライベートモード)でot/loginルートを取得したときにバーが表示されませんが、このページを更新すると、再び表示されます

7
Tutu Kaeen

5.5以降のソリューション

以下を使用してパッケージをインストールします。

composer require barryvdh/laravel-debugbar:dev-master

パッケージの自動検出機能のため、config/app.phpprovidersリストにパッケージのサービスプロバイダーを追加する必要はなく、Debugbarは開発環境でのみロードされます。

5.4以下のソリューション

このコードをAppServiceProvider@registerに追加します:

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

config/app.phpプロバイダーセクションからLaravel Debugbar行を削除することを忘れないでください。

これを行った後、Laravel Debugbarはローカル環境でのみロードされます。

3
Alexey Mezenin

これはdebugbarの問題ではなく、.envの一般的な問題です。 APP_NAMEを変更して、何も変更されていないことを確認できます。

.envの変更を含む新しい構成の変更を適用するには、プロジェクトフォルダーでartisanコマンドを実行する必要があります。

php artisan config:cache
4

.envファイルで変更してみましたか?.

.envファイルでAPP_DEBUGの値を探し、falseに設定します。

そのままでは、.envでtrueに設定されています。

0
Riyaz

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を使用して有効化と無効化を行ってください。本番環境と異なる場合は有効になります(ローカル、テストなど)。本番環境にある場合は自動的に無効になります。

お役に立てば幸いです。

0
Carlos Sanchez