phpUnit - File / Iterator / Autoload.php打开失败

时间:2012-02-24 00:34:53

标签: phpunit fatal-error

我正试图让phpUnit在运行plesk pannel上运行。{/ p>

我已经成功安装了phpunit。

Package            Version State
File_Iterator      1.3.1   stable
PHPUnit            3.6.10  stable
PHPUnit_MockObject 1.1.1   stable
PHP_CodeCoverage   1.1.2   stable
PHP_Invoker        1.1.0   stable
PHP_Timer          1.0.2   stable
PHP_TokenStream    1.1.3   stable
Text_Template      1.1.1   stable

然而,每当我从shell运行phpunit命令时,我都会收到以下错误:

  

PHP警告:require_once(File / Iterator / Autoload.php):无法打开   stream:没有这样的文件或目录   第45行的/usr/share/pear/PHPUnit/Autoload.php
  PHP致命错误:   require_once():无法打开所需的'File / Iterator / Autoload.php'   第45行/usr/share/pear/PHPUnit/Autoload.php中的(include_path =':')

有谁知道如何解决问题?

5 个答案:

答案 0 :(得分:6)

我尝试了十亿篇不同的文章,最终解决这个问题的命令如下:

sudo pear channel-discover pear.phpunit.de
sudo pear install --alldeps --force phpunit/phpunit

然后,当我运行phpunit时,我没有收到错误并且成功运行。

答案 1 :(得分:4)

我不确定这如何转换为plesk,但问题是php.ini文件中指定的include_path设置为当前目录。通过从命令行运行以下内容来验证php.ini文件的位置...

% php --info

...并查找以下条目...

配置文件(php.ini)Path => /等

已加载的配置文件=> /etc/php.ini中

在这种情况下,编辑/etc/php.ini并查找for include_path。在我的情况下,我需要设置如下......

include_path = ".:/opt/php-5.3.14/lib/php/pear"

答案 2 :(得分:2)

您的包含路径必须包含PEAR安装所有这些包的目录。将/usr/share/pear添加到php.ini中的包含路径中 - 可能是/etc/php5/cli/php.ini

答案 3 :(得分:2)

在Ubuntu(10.04)上,我还将/usr/share/php添加到/etc/php5/cli/php.ini

答案 4 :(得分:0)

在Fedora第19版中,通过将 / usr / share / pear / 路径添加到 /etc/php.ini <的 include_path 来解决此问题。 /强>