PHP启动无法加载动态库php_mongo.dll

bli*_*n12 13 php dll mongodb

我是初学者.我正在尝试在php上安装mongodb驱动程序.

Platform: Windows 8.1 64bit.
PHP 5.5.9
Apache/2.4.7
Run Code Online (Sandbox Code Playgroud)

按照这里的说明:http://php.net/manual/en/mongo.installation.php#mongo.installation.windows

我用VC11尝试了所有php_mongo.dll文件并放入php/ext文件夹.并extension=php_mongo.dll在php.ini文件中添加但是当我尝试在xampp控制器中启动apache时出现错误.

    Php Startup: Unable to load dynamic library
  'C:\xampp\php\ext\php_mongo.dll' -%1 is not a valid Win32 application.
Run Code Online (Sandbox Code Playgroud)

我已经在phpinfo()中检查了我的VC编译器版本,并在那里说明MSVC11architecture: x86.

如果有人能帮助我,那就太好了.谢谢.欣赏它.

Kim*_*tai 49

确保为php安装下载正确的.DLL.很有可能你正在运行apache x86,所以下载一个x86 php_mongo.dll.此外,如果您将PHP作为Apache模块运行,请确保选择线程安全(ts).还要选择与你正在运行的php版本匹配的这种类型的dll.版本必须匹配,否则你将得到一个PHP启动错误.在这里找到这些Mongo DLL .我做了这个然后我得到一个错误libsasl.dll找不到.我只是将我的php安装目录中的libsasl.dll复制到apache安装目录(找到httpd.exe).然后我重新启动了我的apache.它奏效了!

  • 这里的技巧确实是将libsasl.dll从php文件夹复制到apache二进制文件夹 (12认同)
  • 是的.将libsasl.dll复制到apache bin目录解决了这个问题. (7认同)

小智 10

对于2017年使用Google搜索的人来说,PECL套餐已经更新,现在可以在http://pecl.php.net/package/mongodb/1.2.9/windows找到

并使用:

extension=php_mongodb.dll 
Run Code Online (Sandbox Code Playgroud)

代替:

extension=php_mongo.dll
Run Code Online (Sandbox Code Playgroud)


小智 5

复制C:\xampp\php\libsasl.dllC:\xampp\apache\bin\,重新启动Apache并享受。