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.....
I've followed the MongoDB installation fine (incl. adding the DLL to ext & php.ini), I've started mongod.exe and WAMP is running.
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 the mongo-1.1.4-php5.3vc6ts
version for some reason. My Windows 7 Professional machine had the mongo-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 the mongo-1.1.4-php5.3vc6ts
version when I was troubleshooting the problem. So the original problem could actually just have been that the database path data\db
didn't exist/couldn't be found (and needed to be specified using --dbpath
when running/starting mongod.exe
).
If this problem exist in php CLI you should add extension=mongo.so
to your /etc/php5/cli/php.ini
file
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With