如何使用symfony环境dev和prod

时间:2019-03-09 20:59:38

标签: php apache symfony

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

我不想更改应用程序web / .htaccess文件,因为它后面是git,我希望在应用程序/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吗?

1 个答案:

答案 0 :(得分:1)

我认为您存在以下问题:无论定义哪个DirectoryIndex,服务器都会从.htaccess获取一些设置。

在那里可能有另一个对app.php的引用吗?

然后,您可以执行以下操作:将确切的设置从RewriteRule ^(.*)$ app.php [QSA,L]移到本地和生产服务器上的服务器配置。然后,您可以使所有其他设置独立于您的环境。

如果仍然不能解决问题,请共享.htaccess的内容。

另一种解决方法是使用最新的Symfony版本,并将可能在环境之间更改的所有内容都放在.htaccess文件中。不要将其置于版本控制之下,因为此文件可能包含敏感信息。然后看一下当前的基础知识:您不再拥有.envapp.php,因为更改很少。使用公用的app_dev.php,它会从index.php

读取所有当前设置