运行 PHPUnit 测试时无法加载 Xdebug
Posted
技术标签:
【中文标题】运行 PHPUnit 测试时无法加载 Xdebug【英文标题】:Failing to load Xdebug when running PHPUnit Tests 【发布时间】:2021-07-02 02:25:32 【问题描述】:这几天我一直有一个选择。当我尝试运行 phpUnit 测试时,我收到一条消息,提示无法加载 Xdebug。我试图重新安装,更改文件路径等,但我无处可去。希望有人可以帮助我:)
PHP 7.4.3 (cli) (built: Oct 6 2020 15:47:56) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
【问题讨论】:
只需zend_extension=xdebug
就足以加载 Xdebug 扩展(只要它与其他 PHP 扩展位于同一文件夹中)。 1) 你在 `C:\php\ext` 路径中实际上有一个 Xdebug 扩展文件吗? 2)那是什么文件(你从哪里得到的)?如果它来自 Xdebug 网站——你用什么 URL 下载它(以防它用于错误的 PHP/版本)?
天啊,现在你已经这么说了,简直不敢相信,我使用了错误的 Xdebug 扩展文件,我使用的是 32 位而不是 64 位。感谢您的帮助 :)
【参考方案1】:
加载 xxxx.dll 失败表示 PHP 无法加载扩展文件。这可能有几个原因:
文件不存在→检查是否存在
文件权限不正确→检查权限
文件属于“错误的扩展类型”。可以是:
扩展名是错误的 PHP 版本 扩展名的位数错误(32 位与 64 位) 错误的 TS 变体(NTS 与 ZTS) PHP 的错误“调试模式”构建(调试或 nodebug)API 类型(位数除外,您可以使用echo PHP_INT_SIZE;
检查;4
是 32 位,8
是 64 位)反映在 php -i
或 @987654326 的“Zend Extension Build”输出中@。
您可以使用 Xdebug 的 wizard 告诉您要为您的特定设置下载哪个确切文件。
【讨论】:
以上是关于运行 PHPUnit 测试时无法加载 Xdebug的主要内容,如果未能解决你的问题,请参考以下文章
markdown [代码覆盖率Phpunit]安装Xdebug并使用Phpunit运行代码覆盖率#xdebug #phpunit #code #coverage
带有 Xdebug 的 PHPUnit 测试资源管理器 - VSCode
Composer 自动加载器在运行测试时找不到 PHPUnit