【问题标题】:How to use symfony environments dev and prod如何使用 symfony 环境 dev 和 prod
【发布时间】:2019-07-31 14:07:01
【问题描述】:

这似乎是一个愚蠢的问题,我需要我的 symfony 3 应用程序在生产环境中的行为与在本地机器中的行为不同。我知道每个 env、app.php 和 app_dev.php 都有一个入口点

我不想更改应用程序 web/.htaccess 文件,因为它后面跟着 git,我期待 app/config.yml 中有一个 'env' var 或类似的东西,但也有一个 config.yml 和一个config_dev.yml,所以它必须是另一个我可以定义我是在使用 prod 还是 dev env 的地方。

文档说我需要设置我的 apache 服务器以使用 web/app.php 或 web/app_dev.php,这是我的问题。我正在使用 apache 2.4,并尝试使用以下指令:

<VirtualHost *:8000>
    <directory>
        ...
        DirectoryIndex app_dev.php
    </directory>
</VirtualHost>

我重启了apache,但是当我在浏览器中输入localhost:8000时,它一直使用默认的app.php,我需要我的apache服务器使用app_dev.php,我不想使用内置服务器因为一段时间后它会出现问题。

谁能帮我配置 apache 以使用 dev env?

【问题讨论】:

    标签: php apache symfony


    【解决方案1】:

    我认为您有以下问题:无论您定义哪个DirectoryIndex,服务器也会从.htaccess 中获取一些设置。您是否有可能在其中对app.php 有另一个引用,例如RewriteRule ^(.*)$ app.php [QSA,L]

    然后您可以执行以下操作:将确切的设置从 .htaccess 移动到您的服务器配置中,无论是在本地还是在生产服务器上。然后,您可以使所有其他设置独立于您的环境。

    如果这还没有帮助,请分享.htaccess的内容。

    另一种解决方法是使用最新的 Symfony 版本,并将可能在环境之间更改的所有内容都放在 .env 文件中。不要将其置于版本控制之下,因为此文件可能包含敏感信息。然后看看当前的基础知识:您不再拥有app.phpapp_dev.php,因为变化很小。使用了一个普通的index.php,它从.env读取所有当前设置

    【讨论】:

    • 谢谢!我将 symfonyapp/web/.htaccess 配置复制到 /etc/apache2/sites-availables/ 中的我的 site.conf,还将“app.php”修改为“app_dev.php”,它现在可以在开发环境中运行
    猜你喜欢
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    • 1970-01-01
    • 2013-12-06
    • 1970-01-01
    • 2021-06-18
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多