"(PHPUnit) PHP致命错误:未捕获的错误:调用未定义的函数each()"
P粉877114798
P粉877114798 2023-08-23 09:25:03
[PHP讨论组]

首先,我收到了一个警告和一个致命错误。警告:

警告:"continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

然后我用break替换了continue,警告消失了。但是即使替换之后,致命错误仍然发生。致命错误:

PHP 致命错误:在 D:xamppphppearPHPUnitUtilGetopt.php 的第80行调用了未定义的函数each()
堆栈跟踪:
#0 D:xamppphppearPHPUnitTextUICommand.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:xamppphppearPHPUnitTextUICommand.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:xamppphppearPHPUnitTextUICommand.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:xamppphpphpunit(46): PHPUnit_TextUI_Command::main()
#4 {main}
  在 D:xamppphppearPHPUnitUtilGetopt.php 的第80行抛出

致命错误:在 D:xamppphppearPHPUnitUtilGetopt.php 的第80行调用了未定义的函数each()
堆栈跟踪:
#0 D:xamppphppearPHPUnitTextUICommand.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:xamppphppearPHPUnitTextUICommand.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:xamppphppearPHPUnitTextUICommand.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:xamppphpphpunit(46): PHPUnit_TextUI_Command::main()

Getopt.php的77-83行

reset($args);
array_map('trim', $args);

while (list($i, $arg) = each($args)) {
    if ($arg == '') {
        continue;
}

我使用的是PHP 8.0.1和PHPUnit 9(至少我认为是这样,因为我无法使用命令进行检查,并且我在2月7日之后下载了它)

P粉877114798
P粉877114798

全部回复(1)
P粉378890106

对于PHPUnit我不是专家,但是在PHP 8中不再支持"each"函数

引用自PHP官网

可能你使用的PHPUnit版本还没有适配PHP 8。 如果可以的话,请检查版本,然后参考PHPUnit版本支持情况

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号