我在 Mac OS X Yosemite 上使用 Symfony,我想设置一个环境变量来获取我的数据库信息。
由于我有很多项目,我需要一种方法来分离它们。我做了以下事情:
launchctl setenv SYMFONY__MYPROJECT__DATABASE__NAME test
然后,在我的项目中,我做了以下事情:
doctrine:
dbal:
connections:
default:
dbname: %myproject.database.name%
当我尝试运行我的页面时,我收到以下错误:
You have requested a non-existent parameter "myproject.database.name%
然后,我说,也许我应该使用 export 而不是 launchctl
export SYMFONY__MYPROJECT__DATABASE__NAME=test
但是即使重新启动后,错误也是一样的。我用的是MAMP PRO,不知道有没有链接。
编辑1:我寻找 and 的结果,phpinfo()
变量php -i
出现在$_ENV[]
. 当我调试时,看起来环境变量没有与服务器中的环境变量合并...... https://github.com/symfony/symfony/issues/10208
我可以通过执行 fabpot 所做的修复来解决该问题app_dev.php
:
$_SERVER = array_merge($_SERVER, $_ENV);
但这并不是我真正想要的,将 app_dev.php 修改为 symfony 应该做的事情。