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 安装(一台服务器上的多个网站 [域])