致命错误 - 找不到'Mongo'类

时间:2012-01-19 13:56:28

标签: php apache mongodb installation wamp

我正在尝试执行此操作:

<?php

// connect
$m = new Mongo();

?>

但是我收到以下错误:

  

致命错误:在C:\ wamp \ www .....

中找不到“Mongo”类

的信息:

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

我已经很好地遵循了MongoDB安装(包括将DLL添加到ext&amp; php.ini),我已经启动了mongod.exe并且WAMP正在运行。

这意味着什么缺失/不正确?


编辑:

我已经在另一台Windows 7计算机上运行它(Windows 7 Profressional)。这让我很好奇。所以现在我的Windows 7 Enterprise SP1机器具有相同的http.confphp.iniC:\wamp\bin\mongodb内容(因此数据库完全相同)和完全相同的批处理文件mongod.exe作为我的Win7专业机器。

但是,我在Win7 Enterprise SP1机器上所能做的就是通过命令行连接。我的Win7 Professional机器的phpinfo()包含:
Mongo section in php.ini 我的Win7 Enterprise SP1机器不包含对MongoDB的任何引用。

我用来启动MongoDB的批处理文件的内容:

"C:\wamp\bin\mongodb\bin\mongod.exe" --logpath "C:\wamp\bin\mongodb\logs\error.log" --logappend --dbpath "C:\wamp\bin\mongodb\data\db" --directoryperdb --service
Net Start "MongoDB"
pause

4 个答案:

答案 0 :(得分:6)

问题是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不存在/无法找到(并且需要在运行/ --dbpath时使用mongod.exe指定

答案 1 :(得分:5)

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

答案 2 :(得分:0)

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

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

你现在使用mongo驱动程序在Visual Studio 6上使用Thread-safe。 (vs6ts意味着它)

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

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

答案 3 :(得分:0)

在Ubuntu上,我使用了this tutorial。安装完成后,回显phpinfo()并检查mongo.ini文件是否位于phpinfo中提到的正确目录中,并“扫描此目录以获取其他.ini文件”