我已经设置了
'enabled' = false
包中和config / debugbar.php中的
我用
清除了缓存php artisan cache:clear
但我仍然在生产环境中看到它。 我意外地提交了
'enabled' = false
意外而无法将其关闭。我甚至回滚了提交,但这没有用。有什么想法吗?
@edit .env也调试设置为false
@ edit2当我在新浏览器(或私人模式)上获得ot / login路由时,我没有看到该栏,但是当我刷新此页面时,它又在那里
答案 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。