"(PHPUnit) Erreur fatale PHP : erreur non détectée : appel à une fonction non définie each()"
P粉877114798
2023-08-23 09:25:03
<p>Tout d’abord, j’ai reçu un avertissement et une erreur fatale. Avertissement : </p>
<pre class="brush:php;toolbar:false;">Attention : le commutateur de ciblage "continue" est équivalent à "break". Vouliez-vous utiliser "continue 2" ?</pre>
<p>Ensuite, j'ai remplacé continue par break et l'avertissement a disparu. Mais même après le remplacement, l’erreur fatale persiste. Erreur fatale : </p>
<pre class="brush:php;toolbar:false;">Erreur fatale PHP : la fonction non définie each() a été appelée à la ligne 80 de D:xamppphppearPHPUnitUtilGetopt.php
Trace de la pile:
#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 {principal}
Lance à la ligne 80 de D:xamppphppearPHPUnitUtilGetopt.php
Erreur fatale : fonction non définie each() appelée dans D:xamppphppearPHPUnitUtilGetopt.php à la ligne 80
Trace de la pile:
#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()</pre>
<p> Lignes 77 à 83 de Getopt.php</p>
<pre class="brush:php;toolbar:false;">reset($args);
array_map('trim', $args);
while (list($i, $arg) = each($args)) {
si ($arg == '') {
continuer;
}</pré>
<p>J'utilise PHP 8.0.1 et PHPUnit 9 (du moins je le pense puisque je ne peux pas vérifier avec la commande et que je l'ai téléchargé après le 7 février) </p>
Je ne suis pas un expert en PHPUnit, mais la fonction "each" n'est plus supportée en PHP 8
Cité sur le Site officiel de PHP
Peut-être que la version de PHPUnit que vous utilisez n'est pas adaptée à PHP 8. Si possible, veuillez vérifier la version et vous référer à Support de la version PHPUnit