Heroku 上的 Symfony2 ClearDB 配置

Posted

技术标签:

【中文标题】Heroku 上的 Symfony2 ClearDB 配置【英文标题】:Symfony2 ClearDB configuration on Heroku 【发布时间】:2014-09-22 03:56:22 【问题描述】:

谁能明确告诉我如何将我的 symfony2 应用程序连接到 heroku 上的 ClearDB?

我通过键入

得到了heroku上的连接字符串
$ heroku config

但是当我将结果放在我的 parameters.yml 上时,我得到一个 SQLSTATE[HY000] [2002] Connection refused 错误。

提前致谢

【问题讨论】:

你读过这样的东西吗:devcenter.heroku.com/articles/getting-started-with-symfony2? 是的,如果您阅读整个页面,他们只有一个非数据库驱动的应用程序 christophh.net/2013/10/19/sylius-on-heroku 有一些信息,从未使用过,所以不确定它的质量。 请仔细阅读并理解我的问题。我已经有了连接字符串,并将设置放在了我的 parameters.yml 上,但没有取得多大成功。我还尝试将设置添加到这样的环境变量中 $ heroku config:set SYMFONY__SECRET=ThisTokenIsNotSoSecretChangeIt $ heroku config:set SYMFONY__DATABASE_USER=heroku_db_user 也没有成功 我也想知道答案。 【参考方案1】:

这将帮助其他像我一样陷入困境的人:

    将您的连接参数放入parameters.php,而不是parameters.yml,如下所示

    <?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');
    
    ?>
    

    在您的配置文件中包含parameters.php

    imports: -  resource: parameters.php 
    

【讨论】:

以上是关于Heroku 上的 Symfony2 ClearDB 配置的主要内容,如果未能解决你的问题,请参考以下文章

Symfony2,对象集合上的 print_r 永远不会完成

symfony2 上的 AJAX 跨域

是否可以共享 Symfony2 安装(一台服务器上的多个网站 [域])

heroku 上的应用程序错误无法更新 heroku 配置

如何让我在 Heroku 上的 Laravel 项目使用 Heroku Postgres?

加快 Heroku 上的部署 [重复]