我已经在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函数。
答案 0 :(得分:0)
看起来他们对版本5.5和5.6有mysqli支持。您可以将它添加到composer.json文件:
{ “要求”:{ “php”:“~5.5.12” } }