这似乎是一个愚蠢的问题,我需要我的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吗?
答案 0 :(得分:1)
我认为您存在以下问题:无论定义哪个DirectoryIndex
,服务器都会从.htaccess
获取一些设置。
app.php
的引用吗?
然后,您可以执行以下操作:将确切的设置从RewriteRule ^(.*)$ app.php [QSA,L]
移到本地和生产服务器上的服务器配置。然后,您可以使所有其他设置独立于您的环境。
如果仍然不能解决问题,请共享.htaccess
的内容。
另一种解决方法是使用最新的Symfony版本,并将可能在环境之间更改的所有内容都放在.htaccess
文件中。不要将其置于版本控制之下,因为此文件可能包含敏感信息。然后看一下当前的基础知识:您不再拥有.env
和app.php
,因为更改很少。使用公用的app_dev.php
,它会从index.php