PHPUnit(Linux)问题-PHP致命错误

PHPUnit(Linux)问题-PHP致命错误,php,linux,unit-testing,netbeans,phpunit,Php,Linux,Unit Testing,Netbeans,Phpunit,我成功地在我的台式电脑上安装了PHPUnit,并决定在我的笔记本电脑上安装它,但是。。。然后我尝试创建PHPUnit测试Netbeans时抛出一个错误“Selected PHPUnit(version?)是旧的,如果可能的话升级它(最低版本是3.3.0)。” 当然,我的PHPUnit版本较新-3.5.5-2。问题在哪里 我正在使用 Ubuntu 11.04 Netbeans 6.9 PEAR版本:1.9.1 PHP版本:5.3.5-1ubuntu7.2 Zend引擎版本:2.3.0 据我所知

我成功地在我的台式电脑上安装了PHPUnit,并决定在我的笔记本电脑上安装它,但是。。。然后我尝试创建PHPUnit测试Netbeans时抛出一个错误“Selected PHPUnit(version?)是旧的,如果可能的话升级它(最低版本是3.3.0)。”

当然,我的PHPUnit版本较新-3.5.5-2。问题在哪里

我正在使用

  • Ubuntu 11.04
  • Netbeans 6.9
  • PEAR版本:1.9.1
  • PHP版本:5.3.5-1ubuntu7.2
  • Zend引擎版本:2.3.0
据我所知,问题在于PHPUnit。当我尝试在终端中调用“phpunit”命令时,我收到PHP致命错误:

root@ubuntu:~# phpunit –version
PHP Warning:  require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or directory in /usr/bin/phpunit on line 38
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
PHP Fatal error:  require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/usr/share/pear') in /usr/bin/phpunit on line 38
PHP Stack trace:
PHP   1. {main}() /usr/bin/phpunit:0
root@ubuntu:~# find / -name CodeCov*
root@ubuntu:~#
正如您所看到的,我的电脑中没有这样的文件或文件夹。该怎么办

我多次尝试重新安装它(使用apt get、pear、Synaptic PM…),但总是得到相同的结果。

问题解决了

跟随@David Harkness的评论我试图安装PHP_CodeCoverage,然后我意识到我的PEAR安装程序太旧了。我将它升级到1.9.2,然后重新安装了PHPUnit

$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
$ pear install phpunit/PHPUnit
奇怪的是,所有的软件都是在一周前新安装的

回答。我是如何安装PHPUnit的。 如果仍有问题,请尝试更新PEAR:

sudo wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar

获取pear和phpunit的最新版本

pear upgrade
pear upgrade pear
pear upgrade phpunit/PHPUnit

这里的其他解决方案对我不起作用。我终于在这里找到了一个适合我的解决方案:

在默认情况下,pear基本上是将二进制文件安装到我的主目录中。为了修复它,我运行了以下命令

sudo pear config-set bin_dir /usr/bin
sudo pear config-set doc_dir /usr/share/php/doc
sudo pear config-set php_dir /usr/share/php
sudo pear config-set cfg_dir /usr/share/php/cfg (make (sudo mkdir cfg) directory here)
sudo pear config-set data_dir /usr/share/php/data
sudo pear config-set test_dir /usr/share/php/test

sudo pear uninstall phpunit/PHPUnit
sudo pear install phpunit/PHPUnit
法尔FTW

$ wget http://pear.phpunit.de/get/phpunit.phar
$ chmod +x phpunit.phar
参考:

  • 配置通道自动发现

    sudo pear配置集自动搜索1

  • 只需在启用--alldeps标志的情况下升级/安装phpunit

    sudopear升级——alldepschannel://pear.phpunit.de/PHPUnit

  • 它会自动执行必要的魔法。:)

    更新:
    已消失(返回410)

    不要坐在根壳中。这是一个非常坏的习惯。您使用PEAR安装了PHPUnit吗?您安装了它的所有依赖项吗,特别是
    PHP\u CodeCoverage
    ?这是一个已知的依赖项错误,它仍然没有被修复:这是有效的,但我必须在最后一行之前运行
    PEAR channel discover PEAR.PHPUnit.de
    "channel://pear.phpunit.de/PHPUnit"
    $ wget http://pear.phpunit.de/get/phpunit.phar
    $ chmod +x phpunit.phar