Adding mongodb extension for php 5.6 (XAMPP)

2019-03-11 05:59发布

问题:

I have read few post here on solving my issue but neither works for php-5.6.

I downloaded php_mongo-1.6.8.zip and php_mongo-1.6.7.zip and tried all the .dll extensions and all of them gives one or the other error.

Error message:

  1. PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_mongo-1.6.8-5.6-vc11-x86_64.dll' - %1 is not a valid Win32 application.

    in Unknown on line 0

  2. PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_mongo-1.6.8-5.6-vc11.dll' - The specified module could not be found.

    in Unknown on line 0

P.S.: I am using XAMPP for my environment.

回答1:

I installed mongo extension with following steps:

  • Download and install xampp-win32-5.6.12-0-VC11-installer.exe to C:\xampp on Windows 7
  • Download http://windows.php.net/downloads/pecl/releases/mongo/1.6.11/php_mongo-1.6.11-5.6-ts-vc11-x86.zip, extract php_mongo.dll and copy it to C:\xampp\php\ext
  • Add to C:\xampp\php\php.ini line extension=php_mongo.dll

Without further configuration, I see mongo extension in command line (C:\xampp\php\php.exe -i | findstr mongo) but Apache complains about missing libsasl.dll and mongo is missing in http://localhost/dashboard/phpinfo.php. Ok, what next?

  • Copy C:\xampp\php\libsasl.dll to C:\xampp\apache\bin\, restart Apache and enjoy.

This howto worked for me well. I hope it will help to resolve your issue.



回答2:

In your php.ini file, uncomment this configuration, and restart your Apache Server:

; extension_dir = "ext"

If it doesn't work, try to put an absolute path to your extension directory, where php_mongo-1.6.8-5.6-vc11.dll reside.

UPDATE

I have found this information in PHP_OFFICIAL_WEBSITE
I think you should also add libsasl.dll to your PATH environment variable



回答3:

Follow below steps to make Mongo work for PHP-5.6

  1. goto https://pecl.php.net/package/mongo/1.6.14/windows
  2. download php_mongo-1.6.14-5.6-ts-vc11-x86.zip
  3. extract the zip file and copy php_mongo.dll
  4. open PHP ext directory and paste the dll file
  5. add the following line to your php.ini file
    extension=php_mongo.dll
  6. restrat apache and test with below php code

// connect to mongodb

echo extension_loaded("mongo") ? "loaded\n" : "not loaded\n";

$m = new MongoClient("mongodb://127.0.0.1:27017");

echo "Connection to database successfully";

// select a database

$db = $m->testdb;   // where testdb is already existing Database

echo "Database testdb selected";

Note : Check the "mongo" module is loaded or mot using phpinfo()



回答4:

Follow the steps described here:

http://devzone.co.in/configure-mongodb-php-windows-xampp-5-simple-steps/

User "kba" described the same steps. This steps should work. Just do everything that's indicated there.



标签: php mongodb dll