MongoDB、Windows 7、XAMPP、PHP.ini
Posted
技术标签:
【中文标题】MongoDB、Windows 7、XAMPP、PHP.ini【英文标题】:MongoDB, Windows 7, XAMPP, PHP.ini 【发布时间】:2012-08-15 05:26:41 【问题描述】:让 XAMPP 在 Windows 7 上与 MongoDB 一起工作时遇到很多麻烦。
我正在使用 XAMPP 1.7.7/php 5.3.8。
我已经正确设置了 MongoDB,并且可以通过 shell 进行查询(并且 MongoD.exe 正在运行)。
但每当我尝试通过 PHP 脚本访问 MongoDB 时,都会收到错误消息(通过 CodeIgniter):
MongoDB PECL 扩展尚未安装或启用
当我运行 phpinfo() 时,它不会在扩展中显示 MongoDB。但是,我使用了位于此处的驱动程序 https://github.com/mongodb/mongo-php-driver/downloads 并将适当的行添加到 php.ini
在我看来,服务器实际上并没有读取 php.ini。我已经尝试了该 zip 文件中 5.3 驱动程序的每个版本,但它永远不会加载。 PHP 错误日志或 Apache 错误日志中也没有错误。
phpinfo() 表示它正在使用以下 php.ini 文件:
> Configuration File (php.ini) Path C:\Windows
> Loaded Configuration File C:\xampp\php\php.ini
C:\Windows 中没有 php.ini 文件。我机器上唯一存在的 php.ini 位于 C:\xampp\php\php.ini 中,修改它似乎完全没有效果。即使我输入extension=norealfilename.abc,它也不会抛出错误,这看起来很奇怪。
我在这里完全不知所措,我已经浪费了几天时间试图让这一切顺利进行,而且非常沮丧。任何帮助将不胜感激。
其他相关的phpinfo()信息: 系统 Windows NT MY-PC 6.1 build 7601 (Windows 7 Home Premium Edition Service Pack 1) i586 编译器 MSVC9 (Visual C++ 2008) 架构 x86 启用线程安全
如果您需要更多信息,请告诉我,我会更新此问题。
【问题讨论】:
【参考方案1】:我做了以下(与 Codeigniter 一起使用):
从https://github.com/mongodb/mongo-php-driver/downloads下载
*小心获取线程安全版本。
然后在你的 php.ini 文件中添加这一行:
extension=php_mongo-1.2.11-5.3-vc9-x86_64.dll(或者你下载的任何版本)
然后重新启动您的服务器并检查错误日志以查看是否有任何错误/冲突。
PS:我使用 WAMP!
【讨论】:
这些是我使用的驱动程序。我又试了一次,以彻底彻底,但没有骰子。没有错误报告给任何一个日志,并且 phpinfo() 中仍然没有列出 Mongo 扩展。 我从来没有使用过 XAMPP..你能检查一下新的 wamp 安装吗?它应该可以正常工作。 我不愿意这样做,因为它实际上并没有解决我遇到的问题,但是使用相同的 Mongo 驱动程序全新安装 WAMP 就可以解决问题。哦,好吧,它有效。 @你能解决这个问题我很着急,***.com/questions/30910162/…【参考方案2】:在测试了几个构建之后,对我有用的是:来自这个包的 php_mongo-1.3.1-5.3-vc9-x86_64.dll。 http://cloud.github.com/downloads/mongodb/mongo-php-driver/php_mongo-1.3.1.zip 我的环境: 基于 Windows 8 64 位 x64 的处理器。 Winginx PHP 5.3.8
【讨论】:
以上是关于MongoDB、Windows 7、XAMPP、PHP.ini的主要内容,如果未能解决你的问题,请参考以下文章
XAMPP + mod_wsgi + python Windows 7
将 mongodb 扩展添加到 PHP-7.1.9 XAMPP Ubuntu
将mongodb扩展添加到PHP-7.1.9 XAMPP Ubuntu
macOS High Sierra 10.13.3 上 XAMPP 7.2.4 的 mongodb 3.6.4