我在这里读了一些关于解决我的问题的帖子,但都不适用于php-5.6。
我下载了php_mongo-1.6.8.zip和php_mongo-1.6.7.zip并尝试了所有的.dll扩展名,它们都给出了一个或另一个错误。
错误信息:
-
PHP启动:无法加载动态库'C:xampp PHP extphp_mongo-1.6.8-5.6-vc11-x86_64.dll' - %1不是有效的Win32应用程序。
-
PHP启动:无法加载动态库'C:xampp PHP extphp_mongo-1.6.8-5.6-vc11.dll' -指定的模块无法找到。
注::我在我的环境中使用XAMPP
我安装了mongo扩展,步骤如下:
- 下载并安装xampp-win32-5.6.12-0-VC11-installer.exe到Windows 7的
C:xampp
- 下载http://windows.php.net/downloads/pecl/releases/mongo/1.6.11/php_mongo-1.6.11-5.6-ts-vc11-x86.zip,提取
php_mongo.dll
拷贝到C:xamppphpext
- 添加到
C:xamppphpphp.ini
行extension=php_mongo.dll
没有进一步的配置,我看到mongo扩展在命令行(C:xamppphpphp.exe -i | findstr mongo
),但Apache抱怨缺少libsasl.dll
和mongo在http://localhost/dashboard/phpinfo.php中缺失。好,接下来呢?
- 复制
C:xamppphplibsasl.dll
到C:xamppapachebin
,重新启动Apache并享受。这对我来说很有效。我希望这将有助于解决您的问题
按照下面的步骤让Mongo在PHP-5.6下工作
- 转到https://pecl.php.net/package/mongo/1.6.14/windows
- 下载php_mongo 1.6.14 - 5.6 - ts - vc11 x86.zip
- 解压zip文件并复制php_mongol .dll 打开PHP ext目录并粘贴dll文件
- 将以下行添加到php.ini文件
extension=php_mongo.dll
- 重新启动apache并使用以下php代码进行测试
// connect to mongodb
echo extension_loaded("mongo") ? "loadedn" : "not loadedn";
$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";
注意:使用phpinfo()
在php.ini文件中取消注释,并重新启动Apache服务器:
; extension_dir = "ext"
如果它不工作,尝试在扩展目录中放置一个绝对路径,php_mongo-1.6.8-5.6-vc11.dll
所在的目录。
我在php_official网站上找到了这个信息
我认为您还应该将libsasl.dll
添加到PATH环境变量
按照下面描述的步骤操作:
http://devzone.co.in/configure-mongodb-php-windows-xampp-5-simple-steps/用户"kba"描述了相同的步骤。这些步骤应该有效。