我不能在Laravel关闭调试栏上生产
问题描述:
我已经设置我不能在Laravel关闭调试栏上生产
'enabled' = false
两个包和配置/ debugbar.php
我清除缓存,
php artisan cache:clear
但我仍然在生产环境中看到它。 我无意中偶然COMMITED
'enabled' = false
,不能将其关闭。我甚至回滚了提交,但这没有帮助。有任何想法吗?
@edit的.ENV也调试级别设置为false
@ EDIT2还当我在新的浏览器(或私有模式)我没有看到酒吧OT /登录路由,但是当我重新整理页面,它的存在又
答
解决方案5.5及以上
与安装软件包:
composer require barryvdh/laravel-debugbar:dev-master
的Bec如果使用程序包自动发现功能,则不需要将程序包的服务提供程序添加到config/app.php
中的providers
列表中,并且调试栏只会在开发环境中加载。
解决方案5.4,并把这个代码的下面[email protected]
:
if ($this->app->isLocal()) {
$this->app->register('Barryvdh\Debugbar\ServiceProvider');
}
不要忘记从config/app.php
商节中删除Laravel Debugbar线。
完成此操作后,Laravel Debugbar将只加载到本地环境中。
答
是否尝试在.env文件中更改它。
在.env文件中查找值APP_DEBUG并将其设置为false。
开箱,.env设置为true。
答
,如果你是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);
}
}
,并在作曲家。在额外的json:
"extra": {
"laravel": {
"dont-discover": [
"barryvdh/laravel-debugbar"
]
}
},
然后,你很好去,启用和禁用通过.env,我如果它在生产中它将被启用(本地,测试等),它将被自动禁用。
希望它有帮助,祝你好运!
我做到了,但没有任何帮助。它如何关闭调试栏? –
@ZbigniewKisły如果你在5.5,看看更新的答案。另外,尝试用'php artisan view:clear'清除视图缓存 –