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/PEAR
到include_path
来解决此问题。
我使用Ubuntu 10.04.2。
如果您在访问组件时遇到问题,请尝试其他方法。
-
安装梨
sudo apt-get install php-pear
-
使用pear安装
phpunit
。pear config-set auto_discover 1 pear install pear.phpunit.de/PHPUnit
-
安装
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