phpunit - 错误的路径

时间:2011-02-16 22:26:15

标签: php zend-framework path terminal phpunit

有人知道我做错了什么吗? 我已经安装了phpunit,当我在/ opt / local / PEAR目录下时一切都很好,所以如果我去/ opt / local / PEAR目录并运行phpunit我会得到:

  

Sebastian Bergmann撰写的PHPUnit 3.5.11   用法:phpunit [开关] UnitTest [UnitTest.php]
         phpunit [开关]
  blablabla

但如果我在另一条路上,我会得到:

  

警告:require_once(PHP / CodeCoverage / Filter.php):无法打开流:第38行/ usr / local / bin / phpunit中没有此类文件或目录

     

致命错误:require_once():无法在第38行的/ usr / local / bin / phpunit中打开所需的'PHP / CodeCoverage / Filter.php'(include_path ='。:/ usr / lib / php')

我知道我的PATH出了问题。我该如何解决?

5 个答案:

答案 0 :(得分:8)

尝试将/opt/local/PEAR添加到php.ini文件include_path。

//Before:
include_path='.:/usr/lib/php'
//After:
include_path='.:/usr/lib/php:/opt/local/PEAR'

您可能还需要重新启动Web服务器才能使更改生效。

正如RobertPitt评论的那样,这也可以在运行时完成而无需访问php.ini文件。

<?php
$path = '/opt/local/PEAR';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);
?>

答案 1 :(得分:7)

用于分发PHPUnit的PEAR通道(pear.phpunit.de)需要在本地PEAR环境中注册。此外,PHPUnit所依赖的组件托管在其他PEAR通道上。

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com

这只需要进行一次。现在,PEAR安装程序可用于从PHPUnit通道安装包:

pear install phpunit/PHPUnit

答案 2 :(得分:5)

在Ubuntu中,我使用了

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

答案 3 :(得分:1)

对于Ubuntu,请为CLI编辑此php.ini:

 /usr/local/lib/php.ini

将/ usr / local / lib / php /添加到包含行

include_path= "/opt/zend/library/:/var/www/library/:/usr/local/bin/pear/:/usr/local/lib/php/"

我花了一天时间才弄明白。宾果

如果这不起作用,试试这个,它会给你一个提示你的PHP库所在的位置。

$ locate PHP_CodeCoverage

答案 4 :(得分:0)

据我所知,PEAR安装方法即将结束,这就是github存储库中的说法。

https://github.com/sebastianbergmann/phpunit/wiki/End-of-Life-for-PEAR-Installation-Method