Могу ли я получить логин / пароль базы данных в действии? - PullRequest
1 голос
/ 08 апреля 2011

У меня есть действие 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?

Ответы [ 2 ]

3 голосов
/ 08 апреля 2011

Посмотрите на код этого плагина , он довольно понятен.

0 голосов
/ 08 апреля 2011

Я нашел этот ответ на старом форуме Symfony .

Таким образом, получение логина и пароля из database.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'];

НТН

...