I'm trying to execute this:
<?php
// connect
$m = new Mongo();
?>
But I get the following error:
Fatal error: Class 'Mongo' not found in C:\wamp\www.....
Info:
- PHP: 5.38
- MongoDB: mongodb-win32-i386-2.0.2
- MongoDB PHP Driver: mongo-1.1.4-php5.3vc6ts
- WampServer: 2.2
- OS: Windows 7 Enterprise SP1
I've followed the MongoDB installation fine (incl. adding the DLL to ext & php.ini), I've started mongod.exe and WAMP is running.
What does this imply is missing/incorrect?
Edit:
I have got it running on another Windows 7 machine (Windows 7 Profressional). That got me curious. So now my Windows 7 Enterprise SP1 machine has the same http.conf
, php.ini
, C:\wamp\bin\mongodb
contents (therefore DBs are the exact same) and the exact same batch file to start mongod.exe
as my Win7 Professional machine.
But still, all I can do on my Win7 Enterprise SP1 machine is connect via command line. My Win7 Professional machine's phpinfo()
contains:
My Win7 Enterprise SP1 machine doesn't contain any reference to MongoDB.
The contents of the batch file I use to start 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
The problem was the PHP driver (
php_mongo.dll
). Apache/WAMP just did not like themongo-1.1.4-php5.3vc6ts
version for some reason. My Windows 7 Professional machine had themongo-1.2.5-php5.3vc9ts
version. That was the only difference between the two machines.I originally had been using the
mongo-1.2.5-php5.3vc9ts
version of the driver on the Windows 7 Enterprise machine but changed to themongo-1.1.4-php5.3vc6ts
version when I was troubleshooting the problem. So the original problem could actually just have been that the database pathdata\db
didn't exist/couldn't be found (and needed to be specified using--dbpath
when running/startingmongod.exe
).On Ubuntu, I used this tutorial . Once installed, echo the phpinfo() and check if the mongo.ini file is located in the correct directory mentioned in phpinfo with 'Scan this dir for additional .ini files'
If this problem exist in php CLI you should add
extension=mongo.so
to your/etc/php5/cli/php.ini
fileCheck out the exact compiler name of your PHP binary in phpinfo page and try to reinstall the mongo driver was built on same compiler.
http://www.php.net/manual/en/mongo.installation.php#mongo.installation.windows
You're using the mongo driver was bulit on Visual Studio 6 with Thread-safe, now. ( vs6ts means it )
Similar problem was caused by compiler issue;
http://www.php.net/manual/en/mongo.installation.php#104223