在Heroku平台上配置Symfony2 ClearDB

5

有人能明确地告诉我如何将我的Symfony2应用程序连接到Heroku上的ClearDB吗?

我通过输入在Heroku上获得了连接字符串

$ heroku config

但是当我把结果放在我的parameters.yml文件中时,出现了SQLSTATE [HY000] [2002]连接被拒绝的错误。
提前致谢。

2
是的,如果您阅读整个页面,您会发现他们只有一个无数据库支持的应用程序。 - Masinde Muliro
1
http://www.christophh.net/2013/10/19/sylius-on-heroku/有一些信息,但我从未使用过,所以不确定其质量。 - qooplmao
1
请仔细阅读并理解我的问题。我已经有了连接字符串,并在parameters.yml中设置了参数,但并没有取得太大的成功。我还尝试将设置添加到环境变量中,像这样:$ heroku config:set SYMFONY__SECRET=ThisTokenIsNotSoSecretChangeIt $ heroku config:set SYMFONY__DATABASE_USER=heroku_db_user但也没有成功。 - Masinde Muliro
1
我也想知道答案。 - Bartosz Rychlicki
我会在几分钟内在下面放置答案。 - Masinde Muliro
显示剩余4条评论
1个回答

2
这将帮助像我一样困惑的其他人:
  1. Put your connection parameters in parameters.php instead of parameters.yml as below

    <?php
    
    // Using ClearDB for mysql database
    $db = parse_url($_ENV['CLEARDB_DATABASE_URL']); 
    $container->setParameter('database_driver', 'pdo_mysql'); 
    $container->setParameter('database_host', $db['host']); 
    $container->setParameter('database_port', '~');
    $container->setParameter('database_name', trim($db['path'], '/')); 
    $container->setParameter('database_user', $db['user']); 
    $container->setParameter('database_password', $db['pass']);
    
    // Using Mandrill to send email
    $container->setParameter('mailer_transport', 'smtp');
    $container->setParameter('mailer_host', 'smtp.mandrillapp.com');
    $container->setParameter('mailer_user', $_ENV['MANDRILL_USERNAME']);
    $container->setParameter('mailer_password', $_ENV['MANDRILL_APIKEY']);
    
    // Other settings
    $container->setParameter('locale', 'en');
    $container->setParameter('secret', 'your_secret');
    
    ?>
    
  2. Include parameters.php in your config file:

    imports: - { resource: parameters.php} 
    

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接