因此,我使用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