Visual PHPUnit 内部错误,打开失败需要“PHP/CodeCoverage/Filter.php”
Posted
技术标签:
【中文标题】Visual PHPUnit 内部错误,打开失败需要“PHP/CodeCoverage/Filter.php”【英文标题】:Visual PHPUnit Internal Error, Failed opening require 'PHP/CodeCoverage/Filter.php' 【发布时间】:2014-08-17 14:52:11 【问题描述】:我尝试过使用 Visual phpUnit。安装说明 (here) 相当不准确,但安装完成后,在浏览器中打开项目页面时出现 500 内部错误。
深入研究 apache 错误日志给了我以下错误:
PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php'
(include_path='.:/usr/share/php:/usr/share/pear:/home/gabriel/Projets/Code/ActiMeeting/web/phpunit:/usr/bin/pear')
in /usr/share/php/PHPUnit/Autoload.php on line 46
PHPUnit 运行良好,但担心我使用的是 PEAR 或 PHPUnit 的过时版本,我花了一个下午卸载/重新安装它们。现在我回到起点,PHPUnit - 因为找不到 PEAR 而停止工作 - 终于再次工作了。
但我仍然收到此错误。我已经检查了 Visual PHPUnit 的 bootstrap.php 文件中的“pear_path”是正确的,但是不知何故,当被 Apache 调用时,PHPUnit 突然失去了 PEAR。
如何确保 Apache 可以使用正确的依赖项启动 PHPUnit?我尝试编辑 php.ini 并积极定义 PEAR 的路径,但没有运气。
【问题讨论】:
你还记得这个问题的解决方法吗?提前致谢 【参考方案1】:/usr/bin/pear
是一个可执行文件,而不是 pear 文件所在的目录。
通过在包含路径中使用 pear 的 php_dir
来解决此问题。在命令行中获取它
pear config-get php_dir
将其添加到 php.ini 中的include_path
,然后重新启动 apache。
【讨论】:
pear confing-get php-dir
的输出为 ̀/usr/share/php
。我把它放在/etc/php5/apache2/php.ini
中的include_path
,重启apache得到如下错误: ̀PHP Fatal error: require_once(): Failed opening required 'PHP/CodeCoverage/Filter.php' (include_path='.:/usr/share/php:/var/www/VisualPHPUnit:/usr/share/php') in /usr/share/php/PHPUnit/Autoload.php on line 46
基本上连那个都找不到pear。我真的不认为有解决办法...
PHPUnit 安装在哪里?运行pear list -c phpunit
时是否列出?
它在pear list -c phpunit
下列出,它安装在/usr/bin/phpunit
下。 PHPUnit 本身工作正常,但是当 Visual PHPUnit 尝试使用它时,它会中断。以上是关于Visual PHPUnit 内部错误,打开失败需要“PHP/CodeCoverage/Filter.php”的主要内容,如果未能解决你的问题,请参考以下文章