这就是我尝试连接到heroku上的数据库的方式:
//db.php
$config = array(
'username' => 'username',
'password' => 'password',
'connection_string'=> sprintf('mongodb://%s:%d','EXAMPLE.herokuapp.com','27017')
);
$connection = new \MongoClient($config['connection_string']);
当我推送到回购站并转到应用程序URL时,会显示以下错误消息: 无法连接到:EXAMPLE.herokuapp.com:27017 db.php中的连接被拒绝。
我应该如何格式化connection_string以便它不会给出错误消息?
答案 0 :(得分:0)
Heroku上没有本地运行的MongoDB。
您需要在https://addons.heroku.com/#data-stores使用其中一个加载项,例如MongoLab。
运行时
$ heroku addons:add mongolab
它是为您配置的,并且环境中将有一个包含连接信息的配置变量:
$ heroku config | grep MONGOLAB_URI
MONGOLAB_URI => mongodb://heroku_app1234:random_password@ds029017.mongolab.com:29017/heroku_app1234
您可以从$_ENV['MONGOLAB_URI']
或getenv('MONGOLAB_URI')
$connection = new \MongoClient(getenv('MONGOLAB_URI'));