我有一个symfony动作,它创建了一个数据库的mysqldump:
public function executeBackup(sfWebRequest $request)
{
$dump = `mysqldump -u root -proot ec2`;
$fp = fopen("php://temp", 'r+');
fputs($fp, $dump);
rewind($fp);
$this->setLayout(false);
header('Content-Type: application/gzip');
header('Content-Disposition: attachment; filename="db.sql"');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
$this->fichier = stream_get_contents($fp);
}
我在操作中编写了数据库登录名和密码(root / root),但是如何从yml配置中获取它们?
答案 0 :(得分:3)
看看the code of this plugin,这是非常明显的。
答案 1 :(得分:0)
我找到了this answer on the old Symfony forum。
因此,从 databases.yml 检索登录和密码应如下所示:
$file = sfConfig::get('sf_config_dir').'/databases.yml';
$config = file_exists($file) ? sfYaml::load($file) : array();
$db_params = $config['prod']['propel']['param']; // should follow the databases.yml structure
$username = $db_params['username'];
$password = $db_params['password'];
HTH