MySQL(ClearDB)不适用于Heroku

我在Heroku上有多个(免费)应用程序,所有这些应用程序都使用
PHP和MySQL.然而,在其中一个上我经常遇到ClearDB(MySQL)的问题.我收到以下错误

SQLSTATE[HY000] [2002] Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)

当我尝试从我的本地机器连接到它时,它工作正常.我已经尝试删除ClearDB插件并多次添加它,但这还没有解决问题.这已经持续了大约3个星期了.

这是我的代码:

    public $production = array(
    'datasource' => 'Database/Mysql',
    'persistent' => false,
    'host' => 'us-cdbr-east-04.cleardb.com',
    'login' => 'username',
    'password' => 'password',
    'database' => 'heroku_9565d18e1870f97',
    'prefix' => '',
    //'encoding' => 'utf8',
);

这是我从Heroku / ClearDB获得的URL

mysql://username:password@us-cdbr-east-04.cleardb.com/heroku_9565d18e1870f97?reconnect=true

任何想法现在该做什么?我的代码看起来不错吗?我可能会问Heorku的支持,但我宁愿首先询问社区,因为我现在不支付Heroku的费用.

最佳答案 看起来您的连接字符串可能丢失或错误.

ClearDB插件设置一个名为CLEARDB_DATABASE_URL的环境变量.它包含您尝试连接时需要使用的mysql连接字符串.

点赞