You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

默认Laravel应用运行PHPUnit时触发each()函数未定义致命错误

解决Laravel中运行phpunit时出现Call to undefined function each()的致命错误

错误根源

你触发的致命错误是因为使用了XAMPP自带的PEAR版本PHPUnit,该版本过于老旧,依赖的each()函数在PHP 7.2及以上版本已被移除,导致调用未定义函数。而Laravel项目通过Composer安装的PHPUnit是适配当前PHP版本的,问题出在你调用了系统全局的phpunit命令,而非项目本地的适配版本。

解决方案

1. 直接运行项目本地的PHPUnit

在Laravel项目根目录下,执行对应系统的命令:

  • Windows:
    vendor\bin\phpunit
    
  • Linux/macOS:
    ./vendor/bin/phpunit
    

2. (可选)替换全局老旧PHPUnit

若想直接使用phpunit命令,先卸载XAMPP中的全局旧版本:

pear uninstall phpunit/PHPUnit

再通过Composer全局安装适配当前PHP版本的PHPUnit:

composer global require phpunit/phpunit

确保Composer全局bin目录已加入系统环境变量,之后在项目根目录直接运行phpunit即可。

3. 确认配置文件

你的phpunit.xml是标准Laravel测试配置,无需修改。

内容的提问来源于stack exchange,提问作者Mohammad Darweesh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 06:25:19