(PHPUnit)PHP致命错误:未捕获错误:调用未定义的函数each()

(PHPUnit)PHP致命错误:未捕获错误:调用未定义的函数each(),php,phpunit,Php,Phpunit,首先,我收到了一个警告和一个致命的错误。警告: Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? 然后我用break替换了continue,警告消失了。但即使在更换之后,致命的错误仍然会发生。致命错误: PHP Fatal error: Uncaught Error: Call to un

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

Warning:  "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
然后我用break替换了continue,警告消失了。但即使在更换之后,致命的错误仍然会发生。致命错误:

PHP Fatal error:  Uncaught Error: Call to undefined function each() in D:\xampp\php\pear\PHPUnit\Util\Getopt.php:80
Stack trace:
#0 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()
#4 {main}
  thrown in D:\xampp\php\pear\PHPUnit\Util\Getopt.php on line 80

Fatal error: Uncaught Error: Call to undefined function each() in D:\xampp\php\pear\PHPUnit\Util\Getopt.php:80
Stack trace:
#0 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(242): PHPUnit_Util_Getopt::getopt(Array, 'd:c:hv', Array)
#1 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(138): PHPUnit_TextUI_Command->handleArguments(Array)
#2 D:\xampp\php\pear\PHPUnit\TextUI\Command.php(129): PHPUnit_TextUI_Command->run(Array, true)
#3 D:\xampp\php\phpunit(46): PHPUnit_TextUI_Command::main()
Getopt.php的第77-83行

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

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

我正在使用PHP8.0.1和PHPUnit 9(至少我认为,因为我不能使用命令进行检查,我在2月7日之后下载了它)

不是PHPUnit的专家,但PHP8中不再提供“each”函数

警告:从PHP7.2.0开始,此函数已被弃用并删除 从PHP8.0.0开始。非常不鼓励依赖此功能

摘自

对于PHP8,您使用的PHPUnit版本可能还不是最新的。
如果可以,请检查版本,然后在此处查看

类名
PHPUnit\u Util\u Getopt
等并非来自PHPUnit 9。多年来,PHPUnit无法通过PEAR安装。