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


Problems with PHPUnit (Linux) - PHP Fatal Error

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

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

我正在使用

  • 乌班图 11.04
  • Netbeans 6.9
  • 梨版本: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:~#

如您所见,我的PC中没有这样的文件或文件夹。怎么办?

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

问题解决了。

关注@David哈克尼斯评论我尝试安装PHP_CodeCoverage然后我意识到我的梨安装程序太旧了。我将其升级到 1.9.2,然后重新安装 PHPUnit。

$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
$ pear install phpunit/PHPUnit

这很奇怪,因为所有软件都是一周前新安装的。

答。我最终如何安装 PHPUnit。

sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover components.ez.no
sudo pear channel-discover pear.symfony-project.com
sudo pear install phpunit/PHP_CodeCoverage
sudo pear install phpunit/PHPUnit

如果您仍然遇到问题,请尝试更新 PEAR:

sudo wget http://pear.php.net/go-pear.phar
sudo php go-pear.phar
  1. 配置通道自动发现

    须藤梨配置集 auto_discover 1

  2. 只需升级/安装 phpunit 并启用 --alldeps 标志

    须藤梨升级--全德普斯 channel://pear.phpunit.de/PHPUnit

它会自动施展必要的魔法。 :)

更新: http://pear.phpunit.de/已经消失了(返回 410)

这里的其他解决方案对我不起作用。我终于在这里找到了一个适合我的解决方案:http://markojakic.net/configure-phpunit-and-pear-in-ubuntu-12-04

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

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

PHAR FTW!

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

参考: https://github.com/sebastianbergmann/phpunit/blob/master/README.md

获取最新版本的 pear 和 phpunit。

pear upgrade
pear upgrade pear
pear upgrade phpunit/PHPUnit