因此,我使用xampp在本地测试了使用PHP和MongoDB的基本程序。这一切工作正常。现在我想将其作为网站发布。连接到亚马逊EC2上托管的mongoDb Bitnami服务器
经过一番研究,我决定使用Bitnami,并且我在Amazon上运行EC2服务器。我能够从终端ssh并运行命令。现在我想连接到服务器并创建一个Mongo客户端。我有点困惑,不知道如何完全做到这一点。我正在使用下面的代码。 SSH工作正常,但我不知道如何设置mongo客户端。 '$ m = new MongoClient();'本地工作正常localhost,我也试图提供给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);
更新答案霍塔马托斯(无法将它写为注释): 你好,谢谢你的回答。是的,现在我允许从所有端口和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亚马逊服务器并连接到Bitnami mongoDB帐户。我应该首先设置一个到服务器的ssh连接,然后尝试登录到mongoDB服务器,或者我应该如何连接?
任何帮助表示感谢,提前谢谢!
谢谢您的回答,我会考虑这一点。我不明白的是,对于我的EC2服务器,我有一个IP,用户名和密码,然后在服务器上,mongoDB应用程序使用用户名和密码运行。我应该首先ssh到我的服务器,然后尝试使用此命令创建一个MongoDB连接? – AlexanderTGreat