#symfony1 #pdo
#symfony1 #pdo
Вопрос:
У меня есть действие 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?
Ответ №1:
Посмотрите на код этого плагина, он довольно понятен.
Комментарии:
1. Спасибо, это в значительной степени то, что я пытался воссоздать 🙂
Ответ №2:
Я нашел этот ответ на старом форуме Symfony.
Итак, извлекаем логин и пароль из баз данных.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