PHPUnit require_once() 错误

79

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

当我尝试运行一个测试时,出现以下错误:

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

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

经过一些搜索后,我尝试对服务器上的php.ini文件中的include_path进行一些修改。但这并没有起到任何作用。

您有什么想法可能会导致这种情况?

17个回答

0
我遇到了同样的问题。Netbeans报告说phpunit的版本太旧(其实不是这样)。直接运行phpunit脚本会显示上述消息。
我解决了这个问题,添加了:
include_path=".:/usr/share/php"

/etc/php5/cli/php.ini

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


0

对我来说,将测试分成多个批次很有帮助。


0

我曾经遇到过这个问题。当时我正在开发一个Zend框架网站。最终,我通过移除Zend安装并在Apache和CLI中删除/注释include路径来解决了这个问题。为了使用Zend开发网站,我们不需要安装Zend。相反,我们可以将库复制到我们的网站文件夹中。


0

我在 Windows 8 上遇到了同样的问题。 与顶部答案类似,我需要启动命令行,但请确保以管理员身份运行 cmd.exe。 然后执行两个命令。

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

0

Ubuntu 12.04:

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

0

0

我的原始问题是无法将php命令行版本(yum install php 或 yum install php-cli)升级到 => php5.2.7,我一直停留在5.1版本。

我已经编译了用于Apache的php 5.3.3。所以我设置了一个符号链接从 /usr/bin/php(默认的命令行)到我在 /var/php5/bin/php 编译的版本,以便让命令行php报告5.3.3

然后,我重新按照phpunit的pear安装步骤进行设置。

但当我运行phpunit时,它仍需要代码覆盖率。

所以我在php.ini中的include_path中添加了 /var/php5/lib/php/PHP/CodeCoverage,并将其添加到include路径中。

确保将其添加到包含路径而没有 /PHP,因为phpunit从 PHP/ (注意大写)开始查找 Code Coverage。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接