如何在 heroku 上使用 php 和 mongodb 托管网络应用程序?

How do I host a webapp using php and mongodb on heroku?

这就是我尝试连接到 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 才不会给出错误信息?

Heroku 上没有本地 运行ning 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'));