PHP启动:运行单元测试时无法加载动态库

时间:2018-07-03 13:59:54

标签: php unit-testing xampp phpunit codeception

当我尝试运行单元测试时,出现此错误

  

PHP警告:PHP启动:无法加载动态库'bz2'   (尝试:\ xampp \ php \ ext \ bz2(找不到指定的模块。),   \ xampp \ php \ ext \ php_bz2.dll(找不到指定的模块。)   在第0行的Unknown中,PHP警告:PHP启动:无法动态加载   库'curl'(尝试:\ xampp \ php \ ext \ curl(指定的模块可以   找不到。),\ xampp \ php \ ext \ php_curl.dll(指定的模块   找不到)。)在第0行上的未知PHP警告:PHP启动:   无法加载动态库“ fileinfo”(尝试:   \ xampp \ php \ ext \ fileinfo(找不到指定的模块。),   \ xampp \ php \ ext \ php_fileinfo.dll(指定的模块不能为   在第0行的Unknown中找到))PHP警告:PHP启动:无法   加载动态库'gd2'(尝试:\ xampp \ php \ ext \ gd2(指定   找不到模块。),\ xampp \ php \ ext \ php_gd2.dll(指定   找不到模块。))在第0行的PHP中未知:警告:PHP   启动:无法加载动态库“ gettext”(尝试:   \ xampp \ php \ ext \ gettext(找不到指定的模块。),   \ xampp \ php \ ext \ php_gettext.dll(指定的模块不能是   在第0行的Unknown中找到))PHP警告:PHP启动:无法   加载动态库'mbstring'(尝试:\ xampp \ php \ ext \ mbstring(   找不到指定的模块。),\ xampp \ php \ ext \ php_mbstring.dll   (找不到指定的模块。)在PHP 0行上未知   警告:PHP启动:无法加载动态库'exif'(尝试:   \ xampp \ php \ ext \ exif(找不到指定的模块。),   \ xampp \ php \ ext \ php_exif.dll(指定的模块不能为   在第0行的Unknown中找到))PHP警告:PHP启动:无法   加载动态库'mysqli'(尝试:\ xampp \ php \ ext \ mysqli(   找不到指定的模块。),\ xampp \ php \ ext \ php_mysqli.dll   (找不到指定的模块。)在PHP 0行上未知   警告:PHP启动:无法加载动态库“ pdo_mysql”   (尝试:\ xampp \ php \ ext \ pdo_mysql(指定的模块不能是   找到。),\ xampp \ php \ ext \ php_pdo_mysql.dll(指定的模块可以   找不到)。)在第0行上的未知PHP警告:PHP启动:无法   加载动态库'pdo_sqlite'(尝试:\ xampp \ php \ ext \ pdo_sqlite   (指定的模块无法找到。),   \ xampp \ php \ ext \ php_pdo_sqlite.dll(指定的模块不能为   在第0行的Unknown中找到))PHP警告:PHP启动:无法   加载动态库'php_openssl.dll'(尝试:   \ xampp \ php \ ext \ php_openssl.dll(指定的模块不能是   找到。),\ xampp \ php \ ext \ php_php_openssl.dll.dll(指定的模块   找不到)。)在第0行上的未知PHP警告:PHP启动:   无法加载动态库“ php_ftp.dll”(尝试:   \ xampp \ php \ ext \ php_ftp.dll(找不到指定的模块。),   \ xampp \ php \ ext \ php_php_ftp.dll.dll(指定的模块不能为   找到))),在第0行PHP上未知:警告:无法打开   '\ xampp \ php \ extras \ browscap.ini”,用于读取第0行上的“未知”

     
    

警告:PHP启动:无法加载动态库'bz2'(尝试:\ xampp \ php \ ext \ bz2(找不到指定的模块。),     \ xampp \ php \ ext \ php_bz2.dll(找不到指定的模块。)     在第0行的“未知”中

         

警告:PHP启动:无法加载动态库“ curl”(尝试:\ xampp \ php \ ext \ curl(找不到指定的模块。),     \ xampp \ php \ ext \ php_curl.dll(指定的模块不能为     找到))),位于第0行的“未知”中

         

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

  
     

警告:PHP启动:无法加载动态库“ gd2”(尝试:   \ xampp \ php \ ext \ gd2(找不到指定的模块。),   \ xampp \ php \ ext \ php_gd2.dll(找不到指定的模块。)   在第0行的“未知”中

     

警告:PHP启动:无法加载动态库“ gettext”(尝试:   \ xampp \ php \ ext \ gettext(找不到指定的模块。),   \ xampp \ php \ ext \ php_gettext.dll(指定的模块不能是   找到))),位于第0行的“未知”中

     

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

     

警告:PHP启动:无法加载动态库'exif'(尝试:   \ xampp \ php \ ext \ exif(找不到指定的模块。),   \ xampp \ php \ ext \ php_exif.dll(指定的模块不能为   找到))),位于第0行的“未知”中

     

警告:PHP启动:无法加载动态库'mysqli'(尝试:   \ xampp \ php \ ext \ mysqli(找不到指定的模块。),   \ xampp \ php \ ext \ php_mysqli.dll(指定的模块不能为   找到))),位于第0行的“未知”中

     

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

     

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

     

警告:PHP启动:无法加载动态库'php_openssl.dll'   (尝试:\ xampp \ php \ ext \ php_openssl.dll(指定的模块无法   找到。),\ xampp \ php \ ext \ php_php_openssl.dll.dll(指定   找不到模块。))在第0行的未知中

     

警告:PHP启动:无法加载动态库'php_ftp.dll'   (尝试:\ xampp \ php \ ext \ php_ftp.dll(指定的模块不能为   找到。),\ xampp \ php \ ext \ php_php_ftp.dll.dll(指定的模块   找不到)。)在第0行的“未知”中

有人可以帮我吗?谢谢。 在PHPstorm中运行,Win 10

5 个答案:

答案 0 :(得分:1)

您缺少php的b2z模块。 通常包含在Windows的php软件包中

我建议重新安装php或将软件包从下载中手动移至正确的文件夹或切换到无所事事的环境。

下载:

https://windows.php.net/download/

在ext / bz2文件夹中

将这些文件夹内容移至相应的文件夹。

答案 1 :(得分:0)

您可能需要编辑php.ini文件并重新启动服务器。在php.ini配置中添加绝对路径。它适用于Windows 8.1计算机中的xampp服务器。
示例:
extension_dir="\xampp\php\ext"extension_dir="C:\xampp\php\ext"
参考:How to fix PHP Warning: PHP Startup: Unable to load dynamic library 'ext\\php_curl.dll'?

答案 2 :(得分:0)

如果不需要,只需在php.ini中将;extension=pdo_sqlite注释掉。在我的配置中,默认情况下启用了此功能,错误消息消失了。

答案 3 :(得分:0)

在过去的12个小时中,我在Windows 10机器上为此进行了战斗。对于遇到同样麻烦的任何人,您都需要编辑php.ini来调出DLL文件的全名。我必须将pdo_sqlite更改为php_pdo_sqlite.dll,将sqlite3更改为php_sqlite3.dll。

答案 4 :(得分:0)

在php.ini中添加php ext dir后,我还需要将php dir添加到windows路径(环境变量)