Symfony 4部署为生产或删除探查器访问

时间:2019-06-19 18:32:54

标签: bundle symfony4 profiler

我正在尝试为Symfony 4生产环境禁用探查器。我在config / packages / dev / web_profiler.php中做到了。只隐藏了我的调试工具栏。

但是,当我浏览URL www.symfony4app.com/_profiler时,我可以看到所有信息。

有什么办法可以完全删除生产环境中对探查器的访问权限吗?

1 个答案:

答案 0 :(得分:1)

由于您说过在config/packages/dev/中更改了配置并生效,因此您的应用程序环境未正确配置,并且当前在dev环境中运行,因为它决定了如何加载应用程序配置。来自documentation

  

Symfony以此顺序加载配置文件(最后一个文件   可以覆盖之前设置的值):

config/packages/*.yaml
config/packages/<environment-name>/*.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选项添加软件包,并在--no-dev中使用prod安装软件包。