我正在尝试使用此PHP代码连接到远程服务器:
if ($mongo = new MongoClient('mongodb://root:password#@111.111.111.11:2222'))
if ($db = $mongo->selectDB("test"))
致命错误:未捕获的异常' MongoConnectionException'同 消息'无法连接到:111.111.111.11:2222:send_package:data 损坏:回复的返回大小(759714607)大于 最大允许尺寸(4194304)'在 /var/www/html/mongo/index.php:24堆栈跟踪:#0 /var/www/html/mongo/index.php(24): MongoClient-> __ construct(' mongodb:// root:...')#1 {main}引入 第24行/var/www/html/mongo/index.php
答案 0 :(得分:0)
我用这个命令创建了ssh tunnel:
autossh -C -p 22 -l
{name}
-N -o ConnectTimeout = 5 -o TCPKeepAlive = yes -o NumberOfPasswordPrompts = 3 -o ControlMaster = no -o PreferredAuthentications =密码-L 27018:localhost:27017 root@420.213.412.21
它基本上在本地机器和带数据库的服务器之间创建了ssh连接隧道。打开端口为27018,结束端口为27017,即MongoDB端口。
然后对于代码中的连接参数我使用了这个:
$mongo = new MongoClient('localhost:27018');
连接到ssh隧道的开放端口。