我目前正在为我们公司开发一个 symfony 项目。而且我在弄清楚如何从环境变量构建动态配置时遇到问题。
我的主要问题是 symfony 将我的“defaut_database”缓存一次,然后再也不更改它。我愿意用我创建的每个 Vhost 中定义的变量来改变它。
这是我的虚拟主机配置:
<Macro demoVHost ${slug}>
<VirtualHost *:80>
ServerName ${slug}.domain.com
DocumentRoot /home/domain/www/web
SetEnv SYMFONY__DYNAMIC__DATABASE_NAME db_${slug}
<Directory /home/domain/www/web>
AllowOverride None
Order Allow,Deny
Allow from All
Require all granted
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app_demo.php [QSA,L]
</IfModule>
</Directory>
ErrorLog /home/demo/log/${slug}.error.log
CustomLog /home/demo/log/${slug}.access.log combined
</VirtualHost>
</Macro>
Use demoVHost aaa
Use demoVHost bbb
Use demoVHost ccc
还有我的 .yml 配置:
doctrine_mongodb:
connections:
default:
server: 'mongodb://127.0.0.1:27017'
options: {}
default_database: "%dynamic.database_name%"