PHP启动:无法加载动态库“ php_mongodb.dll”

时间:2019-11-21 06:14:14

标签: php laravel mongodb xampp composer-php

我试图通过遵循this tutorial

使Laravel MongoDB在我的本地计算机(Windows 10家庭版,x64)中工作
  1. 我已经在D:\xampp上成功安装了XAMPP 7.3.11,并测试了是否可以访问服务器(在浏览器中输入localhost:80
  2. 我继续在php_mongodb.dll上提取从pecl(适用于Windows的mongodb 1.6.0,适用于7.3非线程安全,x64)上的D:\xampp\php\ext,并添加行{{ 1}}在文件extension=php_mongodb.dll

  3. D:\xampp\php\php.ini中选择“您要使用的命令行PHP”之后,安装程序将提供以下输出:

      

    您指定的PHP exe文件未正确运行:   D:\ xampp \ php \ php.exe

         

    您的命令行PHP使用的php.ini是:D:\ xampp \ php \ php.ini

         

    您的php.ini中的设置可能会导致此问题:   'extension_dir'值不正确或dll不存在。

         

    程序输出:PHP警告:PHP启动:无法动态加载   库'php_mongodb.dll'(尝试:D:\ xampp \ php \ ext \ php_mongodb.dll   (指定的模块无法找到。),   D:\ xampp \ php \ ext \ php_php_mongodb.dll.dll(指定的模块可以   找不到)。)在第0行上的“未知”中

注释行D:\xampp\php\php.exe将执行extension=php_mongodb.dll,而不会发出任何警告。但是我需要php在作曲家安装过程中注意D:\xampp\php\php.exe,对吗?

那么如何解决此问题?该文件肯定存在于该文件夹中,并且已对php_mongodb.dll进行了所需的修改。 我已经四处看看,有些人提到php.ini中的路径必须写成完整路径。但是我已经检查过extension_dir上的行是php.ini

2 个答案:

答案 0 :(得分:1)

问题已解决。

原因:我使用的是非线程安全php_mongodb.dll,而XAMPP安装的PHP是一个线程安全的。

php_mongodb.dll替换为线程安全版本后,没有错误,我可以成功完成composer的安装。

答案 1 :(得分:0)

有很多解决此错误的方法:

1)请将extension=php_mongodb.dll更改为extension=php_mongo.dll

2)如果仍然生成错误,则另一个解决方法是下载正确的Dll文件。这背后的原因是我们使用支持64位的DLL文件64位系统。但是wamp / xampp体系结构可以是32位。我们需要使用基于wamp / xampp架构而不是Windows架构。因此,请尝试查找与wamp / xampp体系结构相关的DLL文件版本。

请尝试使用这两种解决方案。