所以我用PHP和MongoDB编写了一个基本程序,并使用xampp在本地测试了它。一切正常。现在我想将它作为一个网站发布。
经过一番研究后,我决定使用Bitnami,我正在亚马逊上运行EC2服务器。我能够从终端ssh并运行命令。现在我想连接到服务器并创建一个Mongo客户端。我有点困惑,不知道该怎么做。我正在使用下面的代码。 ssh工作正常,但我不知道如何设置mongo客户端。 ' $ m =新的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);
更新Jota Martos的答案(无法将其写为评论): 嗨,谢谢你的回答。是的,现在我允许从所有端口和IP进行测试以进行测试。我可以通过ssh成功连接,但现在我卡住了。我正在运行一个Mean bitnami应用程序,我的网站运行在PHP下的GoDaddy服务器上。所以我想用PHP连接到我在AWS上托管的mongoDB bitnami应用程序。所以现在问题是我的GoDaddy服务器上没有安装mongoDB。因此,运行以下代码不起作用:
$m = new MongoDB\Driver\Manager("mongodb://${bitnami}:${AWSpassword}@hostIp");
致命错误:Class&#39; MongoDB \ Driver \ Manager&#39;没找到。
所以我的问题是如何从我的GoDaddy服务器连接PHP到EC2亚马逊服务器并连接到Bitnami mongoDB帐户。我应该首先设置到服务器的ssh连接,然后尝试登录到mongoDB服务器或者我应该如何连接?
感谢任何帮助,提前谢谢!
答案 0 :(得分:0)
根据php.net,使用的函数是Deprecated,refer this。
你可以试试像:
int operator_selection;
int operator_index[3];
int random_value;
for (operator_selection = 0; operator_selection < 4; operator_selection++)
{
random_value = rand() %4 + 1;
if (random_value = operator_index[0] || operator_index[1] || operator_index[2])
{
(operator_selection - 1);
}
operator_index[operator_selection] = random_value;
cout<<operator_index[operator_selection]<<" ";
if (operator_selection == 3)
{
cout<<endl;
}
}
答案 1 :(得分:0)
Hi Bitnami工程师,
除了tip之外,请注意默认情况下无法通过公共IP地址访问此解决方案中节点的数据库端口。出于安全原因,我们不建议通过公共IP地址访问数据库端口。
您可以通过访问AWS控制台并修改访问组配置来打开服务器中的MongoDB端口
https://docs.bitnami.com/aws/faq/#how-to-open-the-server-ports-for-remote-access
您还需要修改MongoDB配置文件(/opt/bitnami/mongodb/mongodb.conf
)以允许数据库不能仅在127.0.0.1上运行。
此致 条田
答案 2 :(得分:0)
如果您希望将Studio 3T之类的工具连接到使用bitnami AMI构建的远程Mongodb实例,则可以执行以下步骤:
1。打开实例安全组上的入站端口27017。
2。打开实例的实例日志,然后找到root用户的密码。
3。 Open Studio 3T,服务器名称是实例public ip,端口为27017。
4。进入身份验证并选择基本,然后以从实例日志中获取的root和密码的身份输入用户。
单击测试连接,它应该可以工作。