Отладчик Laravel - включить / отключить в зависимости от IP-адреса при включенном кэшировании - PullRequest
0 голосов
/ 27 февраля 2019

Нам нужно отключить / отключить отладочную панель Laravel в зависимости от IP-адреса .Это работает, если мы очищаем / отключаем кэширование.

Но это не работает, когда включено кэширование.вот мой код

//Enabling DEBUGBAR in Production Only for developers
if(in_array($request->ip(), [ip addresses])) {
    config(['app.debug' => true]);
}

.env

APP_DEBUG=false

Мы используем конфигурацию и кэширование маршрутов.Каков наилучший способ добиться этого?

Версия Laravel - 5.4

Версия отладочной панели - 2.2

Ответы [ 2 ]

0 голосов
/ 04 марта 2019

Вы используете библиотеку Debugbar, поэтому эта библиотека будет загружена перед загрузкой вашего маршрута или контроллера, поэтому лучше загружать свои материалы перед загрузкой библиотеки.Затем мы можем загрузить нашу пользовательскую конфигурацию в классе AppServiceProvider.

Поставщики услуг являются центральным местом всей начальной загрузки приложений Laravel.

Простой метод :
Измените файл app\Providers\AppServiceProvider.php class в соответствии с приведенным ниже кодом.

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;

use Request;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        // You can also clear cache if needed Artisan::call('cache:clear');
        if(in_array(Request::ip(), ['127.0.0.1'])) {
            config(['app.debug' => true]);
        }
    }

    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        //
    }
}
0 голосов
/ 27 февраля 2019

Отладчик имеет функции для включения / отключения его во время выполнения:

\Debugbar::enable();
\Debugbar::disable();

Если вы хотите использовать отладочную панель в работе, отключите ее в конфигурации и включайте только при необходимости.

Так что вы можете сделать:

if(in_array($request->ip(), [ip addresses])) {
    \Debugbar::enable();
    // Forcing the cache to be cleared
    // Not recommended but if and only if required
    \Artisan::call('cache:clear');
}

Пожалуйста, проверьте документацию для получения дополнительной помощи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...