【发布时间】:2018-03-23 06:18:12
【问题描述】:
所以我用 PHP 和 MongoDB 编写了一个基本程序,并使用 xampp 在本地对其进行了测试。这一切都很好。现在我想将它发布为一个网站。
经过一番研究,我决定使用 Bitnami,并且我在 Amazon 上运行 EC2 服务器。我能够从终端 ssh 和运行命令。现在我想连接到服务器并创建一个 Mongo 客户端。我有点困惑,不知道该怎么做。我正在使用下面的代码。 ssh 工作正常,但我不知道如何设置 mongo 客户端。 '$m = new MongoClient();'在本地主机上工作正常,我也尝试向 MongoClient 提供我的用户名和密码,但没有成功。非常感谢您的帮助!
include('Net/SSH2.php');
include('Crypt/RSA.php');
$key = new Crypt_RSA();
$key->loadKey(file_get_contents('../../etc/bitnami.pem'));
$ssh = new Net_SSH2('ip_address');
if (!$ssh->login('bitnami', $key)) {
exit('Login Failed');
}
$ssh->exec('mongo admin --username root -p <myPassword>');
$m = new MongoClient();
$db = $m->mydb;
echo "Database mydb selected";
$collection = $db->mycol;
echo "Collection selected succsessfully";
$document = array(
"title" => "MongoDB",
"description" => "database"
);
$collection->insert($document);
更新对 Jota Martos 的回答(无法将其写为评论): 你好,谢谢你的回答。是的,现在我允许从所有端口和 IP 访问以进行测试。我可以通过 ssh 成功连接,但现在我被卡住了。我正在运行一个 Mean bitnami 应用程序,我的网站在 PHP 下的 GoDaddy 服务器上运行。所以我想用 PHP 连接到我在 AWS 上托管的 mongoDB bitnami 应用程序。所以现在的问题是我的 GoDaddy 服务器上没有安装 mongoDB。所以运行下面的代码是行不通的:
$m = new MongoDB\Driver\Manager("mongodb://${bitnami}:${AWSpassword}@hostIp");
致命错误:找不到类 'MongoDB\Driver\Manager'。
所以我的问题是如何将 PHP 从我的 GoDaddy 服务器连接到 EC2 Amazon 服务器并连接到 Bitnami mongoDB 帐户。我应该先建立到服务器的 ssh 连接,然后尝试登录到 mongoDB 服务器还是应该如何连接?
感谢您的帮助,提前感谢您!
【问题讨论】:
标签: php mongodb amazon-web-services amazon-ec2 bitnami