如何在生产模式下运行Symfony 4?

pea*_*ove 0 profiler configuration symfony

我正在使用Symfony探查器。但是我实际上只想使其在开发模式下可见。但是,当我通过git在服务器上推送数据并打开网站时,我看到了探查器。那没有道理,但我不知道如何消除。

我一直在寻找名为的文件config/config_dev.ymlconfig/config.yml因为我认为config/config.yml应该将其设置为:

web_profiler:
    toolbar: false
    intercept_redirects: false
Run Code Online (Sandbox Code Playgroud)

但是我没有任何config.yml文件。我必须创建它们吗?

Aur*_*ien 5

在您的服务器上,将您.env.dist(如果有的话)复制到.env,然后进行设置APP_ENV=prod

如果您还没有.env文件,请在项目的根目录下创建一个文件,然后放入APP_ENV=prod其中。

话虽如此,请注意,最佳实践是在生产环境中使用服务器级别的配置。参考链接:https : //symfony.com/doc/current/configuration/external_parameters.html#configuring-environment-variables-in-production

编辑(基于评论)供您参考:

.env是主要用于放置全局配置的文件。该.dist变体是要添加到git中的,它不会被symfony使用,但对于开发人员(包括您)来说,使用默认配置文件非常有用。

基本上,当他们第一次拉项目时,他们将复制此文件,.env然后根据自己的喜好调整行数/配置。将.env不能被添加到Git的它会将由symfony中使用的文件。如果将其添加到git中,则每次您推送本地工作然后从服务器中提取时,它将用本地配置替换您的服务器配置。

  • 不,只需打开您的.env,然后搜索APP_ENV行,如果退出则将其更改为prod,否则只需编写即可。尽管您不知道.env,但它很奇怪,如果已将其添加到存储库中,则可以考虑将其从git中删除。否则,每次您拉动服务器时它将被覆盖。 (2认同)