我使用了PHPUnit的功能测试。当我的群体(我使用
Herd
进行本地开发)更新 php 时 - 当我启动功能测试时,我收到了奇怪的异常:
进程已完成,退出代码为 139(被信号 11:SIGSEGV 中断)
我预计功能单元测试会起作用。
有问题的堆栈:
经过一些搜索 - 我发现它看起来像是 3.3.1 版本的 xdebug 的一些问题(更新 PHP 后我也有这个版本的 Xdebug)。
当我使用 herd 时,我发现可以将 Xdebug 的当前版本更改为 3.2.2。
将 Xdebug 版本从 3.3.1 降级 -> 3.2.2
更改 herd 的 xdebug 版本: 在这里您可以找到如何添加畜群的附加扩展: https://herd.laravel.com/docs/1/advanced-usage/additional-extensions#adding-extensions
就我而言,我只是安装了新版本 pecl 安装 xdebug-3.2.2
分机地点: 在 M1/M2 Mac 上,可以在 /opt/homebrew/lib/php/pecl 中找到该扩展。在 Intel Mac 上,它将位于 /usr/local/lib/php/pecl。
我的整个路径: /usr/local/lib/php/pecl/20210902/xdebug.so
在 phpstorm 中,我已将调试器扩展路径更改为新路径,并且它开始工作
我找到有关 xdebug 版本问题的信息的来源: https://youtrack.jetbrains.com/issue/WI-68171/Process-finished-with-exit-code-139-interrupted-by-signal-11-SIGSEGV#focus=Comments-27-8664531.0-0