Zha*_*nat 3 php mysql symfony docker docker-compose
在docker-compose.yml中:
mysql:
image: mysql:latest
container_name: mysql
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=symfony
- MYSQL_USER=symfony
- MYSQL_PASSWORD=symfony
Run Code Online (Sandbox Code Playgroud)
我如何在yml配置文件中获取此变量:
parameters:
database_host: 172.17.42.4
database_port: 3306
database_name: symfony
database_user: symfony
database_password: symfony
Run Code Online (Sandbox Code Playgroud)
在$ _SERVER中,它们的获取方式如下:
$_SERVER["SYMFONY_MYSQL_ENV_MYSQL_DATABASE"],
$_SERVER["SYMFONY_MYSQL_PORT_3306_TCP_ADDR"],
$_SERVER["SYMFONY_MYSQL_ENV_MYSQL_PASSWORD"],
$_SERVER["SYMFONY_MYSQL_ENV_MYSQL_USER"]
Run Code Online (Sandbox Code Playgroud)
在symfony中,您可以在yaml配置中包含PHP文件,您可以在运行时设置参数,覆盖来自parameters.yml的静态参数值.
在你的app/config/config.yml中
imports:
- { resource: parameters.yml }
- { resource: parameters.php }
Run Code Online (Sandbox Code Playgroud)
然后使用以下内容创建文件app/config/parameters.php
<?php
// app/config/parameters.php
$container->setParameter('database_name', $_SERVER['SYMFONY_MYSQL_ENV_MYSQL_DATABASE']);
$container->setParameter('database_host', $_SERVER['SYMFONY_MYSQL_PORT_3306_TCP_ADDR']);
$container->setParameter('database_user', $_SERVER['SYMFONY_MYSQL_ENV_MYSQL_USER']);
$container->setParameter('database_password', $_SERVER['SYMFONY_MYSQL_ENV_MYSQL_PASSWORD']);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4089 次 |
| 最近记录: |