PHP应用程序托管在heroku和Amazon RDS数据库连接上

时间:2014-01-23 14:53:05

标签: heroku mysqli amazon-rds

我已经在heroku上托管了我的PHP应用程序,并在Amazon RDS上设置了一个数据库。

我使用以下命令将DATABASE_URL添加到Heroku:

$ heroku config:add DATABASE_URL=mysql://username:password@amazon_rds_endpoint:3306/databasename
$ heroku config:add SHARED_DATABASE_URL=mysql://username:amazon_rds_endpoint@endpoint:3306/databasename

我使用以下凭据将Heroku的安全组添加到RDS安全性中:

AWS Account ID:098166147350 
EC2 Security Group:default

直到上面的步骤我才使用

mysql_connect("amazon_rds_endpoint","username","password");

连接到数据库,在localhost上工作正常,但当我将代码推送到Heroku时,它给了我一个应用程序错误。

所以我想通过以下方式使用mysqli函数:

$db = new mysqli('amazon_rds_endpoint', 'username', 'password', 'db_name');

if($db->connect_errno > 0){
        die('Unable to connect to database [' . $db->connect_error . ']');
}

使用上面的代码后,应用程序加载,但连接代码显示后没有任何错误或任何行。

我在过去几天开始使用Heroku,任何帮助都会很棒!

更新

当我在页面上启用php错误时,出现以下错误:

Fatal error: Call to undefined function mysqli_connect()

但是Heroku push告诉我我正在使用php 5.3。*这应该足以运行mysqli函数。

1 个答案:

答案 0 :(得分:0)

看起来他们对版本5.5和5.6有mysqli支持。您可以将它添加到composer.json文件:

{   “要求”:{     “php”:“~5.5.12”   } }