【问题标题】:PHP Startup: Unable to load dynamic library, when running unit testsPHP 启动:运行单元测试时无法加载动态库
【发布时间】:2018-12-11 21:11:00
【问题描述】:

当我尝试运行我的单元测试时,我收到了这个错误

PHP 警告:PHP 启动:无法加载动态库 'bz2' (试过:\xampp\php\ext\bz2(找不到指定的模块。), \xampp\php\ext\php_bz2.dll(找不到指定的模块。)) 在第 0 行的未知中 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 行的未知中 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 行的未知中 PHP 警告:PHP 启动:无法 加载动态库“mbstring”(尝试:\xampp\php\ext\mbstring( 找不到指定的模块。),\xampp\php\ext\php_mbstring.dll (找不到指定的模块。))在 Unknown on line 0 PHP 警告:PHP 启动:无法加载动态库“exif”(尝试: \xampp\php\ext\exif(找不到指定的模块。), \xampp\php\ext\php_exif.dll(指定的模块不能 找到。))在第 0 行的未知中 PHP 警告:PHP 启动:无法 加载动态库 'mysqli' (试过: \xampp\php\ext\mysqli (The 找不到指定的模块。),\xampp\php\ext\php_mysqli.dll (找不到指定的模块。))在 Unknown on line 0 PHP 警告: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 行的未知中 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

【问题讨论】:

    标签: php unit-testing xampp phpunit codeception


    【解决方案1】:

    您可能需要编辑您的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'?

    【讨论】:

    • 具体来说,如果该链接断开,将非常不清楚需要在 php.ini 文件中编辑什么。请编辑以添加该信息。
    【解决方案2】:

    您缺少 php 的 b2z 模块。 通常包含在 windows 的 php 包中

    我会建议重新安装 php 或手动将包从下载移动到正确的文件夹或切换到 vagrant 环境。

    下载:

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

    在文件夹 ext/bz2 中

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

    【讨论】:

      【解决方案3】:

      如果您不需要,只需在 php.ini 中注释掉 ;extension=pdo_sqlite。它在我的配置中默认启用,并且错误消息消失了。

      【讨论】:

        【解决方案4】:

        在过去的 12 个小时里,我一直在我的 Windows 10 机器上与此作斗争。对于遇到同样问题的任何人,您需要编辑 php.ini 以调出 DLL 文件的全名。我不得不将 pdo_sqlite 更改为 php_pdo_sqlite.dll 并将 sqlite3 更改为 php_sqlite3.dll。

        【讨论】:

          【解决方案5】:

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

          【讨论】:

            猜你喜欢
            • 2019-04-03
            • 2015-03-01
            • 2023-01-23
            • 2021-04-03
            • 2020-03-16
            • 2016-11-27
            • 2021-10-05
            • 2020-02-26
            • 2016-10-09
            相关资源
            最近更新 更多