Php 在服务容器中设置外部参数在Yosemite中不起作用
我正在Mac OS X Yosemite上使用Symfony,我想设置一个环境变量来获取我的数据库信息 因为我有很多项目,我需要一种方法来分离它们。我做了以下工作:Php 在服务容器中设置外部参数在Yosemite中不起作用,php,symfony,mamp,mamp-pro,Php,Symfony,Mamp,Mamp Pro,我正在Mac OS X Yosemite上使用Symfony,我想设置一个环境变量来获取我的数据库信息 因为我有很多项目,我需要一种方法来分离它们。我做了以下工作: launchctl setenv SYMFONY__MYPROJECT__DATABASE__NAME test doctrine: dbal: connections: default: dbname: %myproject.database.nam
launchctl setenv SYMFONY__MYPROJECT__DATABASE__NAME test
doctrine:
dbal:
connections:
default:
dbname: %myproject.database.name%
然后,在我的项目中,我做了以下工作:
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:我查找了phpinfo()
和php-I
的结果,变量出现在$\u ENV[]
中。当我调试时,看起来环境变量并没有与服务器中的变量合并
我可以通过做Fabbot在app_dev.php
中所做的修复来解决这个问题:
$_SERVER = array_merge($_SERVER, $_ENV);
但这并不是我真正想要的,修改app_dev.php以实现symfony应该做的事情