php - 无法通过php连接到远程主机上的MongoDB

标签 php mongodb remoting freebsd

我有这样的网络配置(参见链接 - http://s58.radikal.ru/i160/1110/4c/1c2c5d74edd0.jpg)

地点: Notebook - 包含 Zend (Windows) 上 mongodb+web 项目的 Apache+php+mongodb+php 驱动程序

router - 虚拟站(192.168.5.23接口(interface)上的nat + ipfw)

natd.conf:

interface le0
same_ports
use_sockets
redirect_port tcp 192.168.5.23:27017 27017
redirect_port tcp 192.168.5.23:27017 27017

ipfw: 允许从任何到任何

虚拟站 2 - 仅包含 mongodb(无 php、apache 或 mongodb php 驱动程序)

1 - 从笔记本 ping 到 mongodb 主机并向后 - 有效。

2 - 虚拟 mongodb 主机上的 shell:mongo 192.168.5.20:27017 - 成功连接到笔记本的 mongodb

3 - 尝试从笔记本连接到虚拟主机导致这样的错误:

C:\mongodb1.8.2\bin>mongo 192.168.9.21:27017
MongoDB shell version: 1.8.2
connecting to: 192.168.9.21:27017/test
Sun Oct 02 22:31:14 Error: couldn't connect to server 192.168.9.21:27017 shell/mongo.js:81
exception: connect failed

4 - 尝试在 php 项目 (www.vm.lcl) 中使用带有数据库的远程主机:

an exception occured while bootstrapping

connecting to vm-db1.lcl failed: Unknown error
Stack Trace:

 #0 C:\www\vm-db1.lcl\library\Zirrk\Database\MongoConnection.php(16): Mongo->__construct('vm-db1.lcl')

请给我建议 - 我应该在什么方向上寻找我的错误! 非常感谢!

最佳答案

我已经通过更改 natd.conf 中的规则解决了这个问题

redirect_port tcp 192.168.5.23:27017 27017

到 重定向端口 tcp 192.168.5.23:27017 192.168.9.21:27017

在了解如何修复它之前,我已经在虚拟网络 (192.168.9.0/24) 中使用 apache+php+mongo-php-driver(mongodb - 未安装)创建网络服务器 (192.168.9.11),并尝试连接到 192.168.9.21

$m = new Mongo("mongodb://192.168.9.21:27017");

这毫无意义。我花了一整天的时间进行头脑 Storm 和谷歌搜索信息,但仍然一无所获。 (连接到服务器时超时错误)。然后我休息了几个小时,明白了,就我而言,所有流量都通过 Freebsd-gateway 主机并添加到 natd.conf

redirect_port tcp 192.168.9.11:27017 192.168.9.21:27017

重启网关服务器,它开始工作了!

关于php - 无法通过php连接到远程主机上的MongoDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7628798/

相关文章:

wcf - C# : Instant Messager - Networking (. NET 远程处理/WCF/套接字)?

database - 继承变坏了吗?

c# - Assembly.ReflectionOnlyLoadFrom 不工作

php - Mongodb 多嵌套数组搜索

php - 在 Woocommerce 中检查产品类别的购物车项目

php - 由于地理邻近度公式(商店定位器)而缺少结果

mongodb - Golang,MongoDB,在使用 $in 查找数组属性中具有一个字符串的所有元素时遇到问题

mongodb - 如何使用 docker-compose 设置带有 pymonogo 应用程序的 mongodb?

PHP 图片上传安全 - gd/imagick/move_upload_file

mongodb - 如何向当前日期字段添加天数以便能够比较日期范围