Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding mongodb extension for php 5.6 (XAMPP)

Tags:

php

mongodb

dll

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.

like image 807
dhpratik Avatar asked Aug 21 '15 07:08

dhpratik


2 Answers

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.

like image 55
kba Avatar answered Sep 21 '22 18:09

kba


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()

like image 32
rakesh gupta Avatar answered Sep 22 '22 18:09

rakesh gupta