【发布时间】:2014-11-19 18:59:09
【问题描述】:
我的开发环境有一个大问题。
上下文:
我的电脑:Win 8.1 x64
我的 WampServer 安装:x64
我的 MongoDB 安装:x64 来自http://www.mongodb.org/downloads
我已经从http://pecl.php.net/package/mongo 安装了 php 扩展。
我的问题是我们的生产服务器将一些 64 位 INT 存储到数据库中。
当我尝试在我的开发环境中访问这些数据时,我得到了:
MongoCursorException
无法在此平台上原生表示长 1108547148863410176
我在互联网上发现,在 64 位架构上使用 64 位 INT 需要一个名为“mongo.native_long = 1”的 mongoDB 参数。
但是当我尝试在我的“php.ini”文件中添加这个参数时,服务器没有启动并给我一个错误,比如:
[2014 年 11 月 19 日 18:25:52 UTC] PHP 致命错误:PHP 启动:为防止数据损坏,不允许在第 0 行的 Unknown 中打开 32 位平台上的 mongo.native_long 设置
我的 mongoDB 扩展 DLL 是基于 32 位构建的还是我错过了一些事情?
【问题讨论】:
-
那我假设你的开发环境是32位系统。 Windows 和 WAMPServer 都是 32 位的,或者您已在 64 位操作系统上安装了 32 位 WAMPServer。请记住,您不能在 32 位操作系统上安装 WAMPserver 64 位。
-
正如我在线程开头所写的,我的操作系统是 Win 8.1 x64,所以我使用的是 64 位 Windows 版本和 64 位版本的 WampServer:/
-
你确定。这样做以确保。启动命令窗口,将 CD 放入
\wamp\bin\apache\apache2.4.9\bin文件夹,然后运行 httpd -V。在输出中查找以Architecture开头的行。 -
我确定,这里有一个 admin mod 中的命令输出屏幕:Screen of my console (imgur link)
-
您找到解决方案了吗?我现在正在处理同样的问题