我在Symfony 2.8.12上
这是我的parameters.yml
文件:
parameters:
database_host: localhost
database_port: 3306
database_name: test
database_user: root
secret: TODO
我的环境变量SYMFONY__DATABASE_PASSWORD
等于root
如果我运行app/console debug:container --parameter="database_password"
我有
------------------- -------
Parameter Value
------------------- -------
database_password root
------------------- -------
但是当我去localhost / app_dev.php我有
ParameterNotFoundException in ParameterBag.php line 84:
You have requested a non-existent parameter "database_password". Did you mean this: "database_port"?
清除缓存后的内容相同
Doc:http://symfony.com/doc/current/configuration/external_parameters.html
答案 0 :(得分:0)
如果使用phpinfo()
和php -i
,则变量会显示在$_ENV[]
中
(也就是说环境变量没有与服务器中的变量合并)尝试在app_dev.php
中添加这一行
$_SERVER = array_merge($_SERVER, $_ENV);
答案 1 :(得分:-1)
你应该'导出'shell变量。类型:
导出SYMFONY__DATABASE__PASSWORD ='root'