有人知道我做错了什么吗? 我已经安装了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出了问题。我该如何解决?
答案 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