运行 phpunit 时找不到致命错误“文件/迭代器/自动加载.php”

2022-08-30 16:00:41

当我尝试在phpunit中运行testclass时,我得到了这个错误。

C:\xampp\htdocs\unittest>phpunit UnitTest usertest.php
PHP Warning:  require_once(File/Iterator/Autoload.php): failed to open stream No such file or directory in C:\xampp\php\pear\PHPUnit\Autoload.php on line 45
PHP Stack trace:
PHP   1. {main}() C:\xampp\php\phpunit:0
PHP   2. require() C:\xampp\php\phpunit:41

Warning: require_once(File/Iterator/Autoload.php): failed to open stream: No such file or directory in C:\xampp\php\pear\PHPUnit\Autoload.php on line 45

Call Stack:
    0.0004     325352   1. {main}() C:\xampp\php\phpunit:0
    0.0026     366520   2. require('C:\xampp\php\pear\PHPUnit\Autoload.php')xampp\php\phpunit:41

PHP Fatal error:  require_once(): Failed opening required 'File/Iterator/Autoload.php' (include_path='.;C:\php\pear') in C:\xampp\php\pear\PHPUnit\Autoload.php on line 45
PHP Stack trace:
PHP   1. {main}() C:\xampp\php\phpunit:0'

任何人都可以解决这个问题吗?

注意:我正在使用Windows 7。

谢谢


答案 1

发生这种情况的一个可能原因是您的php include_path设置不正确。请确保您有适当的PEAR路径可用。对于我的WAMP安装,它将是:

include_path=".;C:\wamp\bin\php\php5.3.8\PEAR\PEAR"

但是,在您的系统上,它很可能有所不同。

旁注,您将需要更新apache php.ini以及php安装文件夹中的php.ini。CLI 默认的 php.ini 和 Web 请求(以及您可能使用 PEAR 软件包的其他软件)通常将使用 apache php.ini。

希望这有帮助。


答案 2

您的 phpunit 安装已损坏。最简单的解决方法是

pear install --force --alldeps phpunit/phpunit

看看结果是否成功。

您将需要最新的梨版本。如果您没有该版本,请使用go-pear.phar进行安装。如果您从xammp运行某些东西,请不要尝试修复他们发布的梨安装。通常重新安装它要容易得多。1.9.4

如果你愿意,你可以尝试也安装丢失的软件包:

pear install phpunit/File_Iterator

(添加一个如果梨告诉你它已经安装)--force


推荐