关于 php:Fatal Error – 找不到 \\’Mongo\\’ 类

Fatal Error - 'Mongo' class not found

我正在尝试执行此操作:

1
2
3
4
5
6
<?php

// connect
$m = new Mongo();

?>

但我收到以下错误:

Fatal error: Class 'Mongo' not found in C:\\wamp\\www.....

信息:

  • PHP: 5.38
  • MongoDB:mongodb-win32-i386-2.0.2
  • MongoDB PHP 驱动程序:mongo-1.1.4-php5.3vc6ts
  • WampServer:2.2
  • 操作系统:Windows 7 企业版 SP1

我已经按照 MongoDB 安装(包括将 DLL 添加到 ext


问题在于 PHP 驱动程序 (php_mongo.dll)。出于某种原因,Apache/WAMP 只是不喜欢 mongo-1.1.4-php5.3vc6ts 版本。我的 Windows 7 Professional 机器有 mongo-1.2.5-php5.3vc9ts 版本。这是两台机器之间的唯一区别。

我最初一直在 Windows 7 Enterprise 计算机上使用 mongo-1.2.5-php5.3vc9ts 版本的驱动程序,但在解决问题时更改为 mongo-1.1.4-php5.3vc6ts 版本。因此,最初的问题实际上可能只是数据库路径 data\\db 不存在/无法找到(并且需要在运行/启动 mongod.exe 时使用 --dbpath 指定)。


如果这个问题存在于 php CLI 中,你应该将 extension=mongo.so 添加到你的 /etc/php5/cli/php.ini 文件中


在 Ubuntu 上,我使用了本教程。安装后,回显 phpinfo() 并检查 mongo.ini 文件是否位于 phpinfo 中提到的正确目录中,使用 \\'Scan this dir for additional .ini files\\'


在 phpinfo 页面中查看您的 PHP 二进制文件的确切编译器名称,并尝试重新安装在同一编译器上构建的 mongo 驱动程序。

http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows

您现在使用的是在 Visual Studio 6 上构建的线程安全的 mongo 驱动程序。 ( vs6ts 意味着它)

类似的问题是由编译器问题引起的;

http://www.php.net/manual/en/mongo.installation.php#104223