我正在尝试为我的Symfony 4生产环境禁用分析器。我在config/package/dev/web_profiler.php中这样做了。只有我的调试工具栏是隐藏的。
但是,当我浏览URL www.symfony4app.com/_profiler时,我可以看到所有信息。
有什么方法可以让我在生产环境中完全删除对profiler的访问吗?
发布于 2019-06-20 02:48:40
由于您说您在config/packages/dev/中更改了配置并生效,因此您的应用程序环境没有正确配置,并且当前正在dev环境中运行,因为它决定了如何加载应用程序配置。来自documentation的。
Symfony按此顺序加载配置文件(最后一个文件可以覆盖前一个文件中设置的值):
config/packages/*.yaml config/packages//*.yaml config/packages/services.yaml
您必须更改环境变量APP_ENV,该变量可以在.env文件(如果存在,也可以设置为.env.local )中设置,或者(最好)在服务器配置中设置。
文件config/bundles.php确定哪些包在哪个环境中可用。如果它是在prod中加载的,那么您很可能会看到下面这行:
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['all' => true],只需将其更改为:
Symfony\Bundle\WebProfilerBundle\WebProfilerBundle::class => ['dev' => true, 'test' => true],Flex通常负责使用正确的配置进行安装,但您也可以使用composer --dev选项添加软件包,并在prod中使用--no-dev进行安装。
https://stackoverflow.com/questions/56673867
复制相似问题