如何在 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'));
这就是我尝试连接到 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'));