phpunit require_once()错误

我最近通过pear安装程序在我的服务器上安装了phpunit。

当我去运行一个testing时,我得到以下错误:

PHP警告:require_once(PHPUnit / Util / Filter.php):未能打开stream:第44行/ usr / bin / phpunit中没有这样的文件或目录

PHP致命错误:require_once():在第44行的/ usr / bin / phpunit中打开所需的'PHPUnit / Util / Filter.php'(include_path ='。:/ usr / bin / php')失败

做了一些search之后,我试着对服务器上的php.ini文件中的include_path进行一些修改。 但是这并没有做到。

任何想法可能导致这个?

更新:截至2013年11月和Ubuntu 12.04这两个命令应该足够了:

sudo pear config-set auto_discover 1 sudo pear install pear.phpunit.de/PHPUnit 

以下是较旧的答案。 这是一个已知的问题,虽然将近一年半的时间已经过去了。 在这里阅读

代码覆盖必须安装,以便phpunit正常工作

你需要做的是在这里覆盖:

通过PEAR进行代码覆盖安装

基本上,你必须input(如果你没有权限,使用sudo,那么已经安装了phpunit):

 pear channel-discover pear.phpunit.de pear channel-discover components.ez.no pear install phpunit/PHP_CodeCoverage 

我在OS X上遇到了这个问题。使用下面的命令修复了这个问题,这些命令强制重新安装所有的php依赖项,其中包括来自其他渠道的一些尚未configuration的包:

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

https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544

特别是这个评论为Ubuntu 11.04,也可能是一些其他人

即使我做了以上build议的步骤,我没有得到它的工作,但我升级梨从1.9.1 1.9.2完美的工作,只是做这个

speshu @ speshu-laptop:〜$ sudo梨升级梨

  downloading PEAR-1.9.2.tgz ... Starting to download PEAR-1.9.2.tgz (295,120 bytes) .....................................................done: 295,120 bytes upgrade ok: channel://pear.php.net/PEAR-1.9.2 PEAR: Optional feature webinstaller available (PEAR's web-based installer) PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer) PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer) PEAR: To install optional features use "pear install pear/PEAR#featurename" 

如果这是您第一次使用PEAR,也许您尚未configuration正确的包含path。 看一下PEAR手册中的相应部分 。

https://github.com/sebastianbergmann/php-code-coverage

 sb@ubuntu ~ % pear channel-discover pear.phpunit.de Adding Channel "pear.phpunit.de" succeeded Discovery of channel "pear.phpunit.de" succeeded sb@ubuntu ~ % pear channel-discover components.ez.no Adding Channel "components.ez.no" succeeded Discovery of channel "components.ez.no" succeeded sb@vmware ~ % pear install phpunit/PHP_CodeCoverage downloading PHP_CodeCoverage-0.9.0.tgz ... Starting to download PHP_CodeCoverage-0.9.0.tgz (108,376 bytes) .........................done: 108,376 bytes install ok: channel://pear.phpunit.de/PHP_CodeCoverage-0.9.0 

(include_path中= ':在/ usr /斌/ PHP')

确定你把它添加到include_path吗?

如果我们看到你的ini文件和include_path片段,它也可能有帮助…

我find了!

看起来PEAR在/ usr / share / pear中安装了PHPUnit。 不知道为什么,但那是它的地方。 必须是(mt)的东西。

无论如何,我全都定了。 谢谢您的帮助。

如果您安装了过时或不完整的PHPUnit,也会发生这种情况。 请注意,在设置PEAR后,您必须添加PHPUnit.de频道才能获得最新的软件包。

在我的情况下,我通过将/usr/share/php/PEARinclude_path来解决此问题。

我使用Ubuntu 10.04.2。

如果您在访问组件时遇到问题,请尝试其他方法。

  1. 安装梨

     sudo apt-get install php-pear 
  2. 使用pear安装phpunit

     pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit 
  3. 安装phpunit / Selenium,但首先你需要安装curl模块

     sudo apt-get install php5-curl pear install phpunit/PHPUnit_Selenium 

我遇到了同样的问题。 Netbeans报告说,phpunit版本太旧了(它不是)。 直接运行phpunit脚本显示了上面的消息。

我解决了它补充说:

 include_path=".:/usr/share/php" 

/etc/php5/cli/php.ini

请注意,php.ini文件是用于php CLI(命令)而不是用于apache的php.ini文件!

我原来的问题是我无法得到的命令行版本的PHP(YUM安装PHP或YUM安装PHP CLI)升级到=> PHP5.2.7我被困在5.1版本

我已经编译php 5.3.3与Apache使用。 所以我在/ var / php5 / bin / php中设置了一个从/ usr / bin / php(命令行默认)到我编译版本的符号链接来获得命令行php reporting 5.3.3

然后,我重新安装了phpunit的pear安装步骤

但是当我运行phpunit时,仍然需要代码覆盖的东西。

所以我在/ var / php5 / lib / php / PHP / CodeCoverage下search了代码覆盖率,并在php.ini中includepathinclude_path =“。:/ var / php5 / lib / php /”

请确保将它添加到不包含/ PHP的包含path中,因为phpunit从PHP /(notice caps)开始查找代码覆盖范围无法打开所需的“PHP / CodeCoverage / Filter.php”

我有这个问题。 我正在开发一个zend框架网站。 最后,我设法通过删除zend安装,并删除/注释在Apache和CLI的浴php.ini文件中的包含path。 用zend开发网站,我们不需要安装zend。 我们可以将库复制到我们的网站文件夹

对于我分多次testing的帮助。

你可以通过在PEAR中重新定义环境variables来解决这个问题。 这是我如何解决这个问题,我用Ubuntu 12.10

http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html

简而言之,它定义了path,然后重新安装phpunit

Ubuntu 12.04:

 sudo pear channel-discover pear.symfony.com sudo pear install --alldeps phpunit/PHPUnit 

我有与Windows 8相同的问题类似于顶部的答案,我需要启动命令行,但是请确保以pipe理员身份运行cmd.exe 。 那么这两个命令

 pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit