phpunit似乎加载了不正确的include路径

phpunit似乎加载了不正确的include路径,phpunit,pear,php,include-path,Phpunit,Pear,Php,Include Path,我正试图用MAMP在我的OSX Lion上安装phpunit。我已经在/Applications/MAMP/bin/php/php5.4.4/lib/php安装了phpunit 在终端中运行phpunit时,出现以下错误: 警告:require_once(File/Iterator/Autoload.php):无法打开流:第45行的/usr/lib/php/pear/PHPUnit/Autoload.php中没有这样的文件或目录 致命错误:require_once():无法在第45行打开/usr

我正试图用MAMP在我的OSX Lion上安装phpunit。我已经在/Applications/MAMP/bin/php/php5.4.4/lib/php安装了phpunit

在终端中运行phpunit时,出现以下错误:

警告:require_once(File/Iterator/Autoload.php):无法打开流:第45行的/usr/lib/php/pear/PHPUnit/Autoload.php中没有这样的文件或目录

致命错误:require_once():无法在第45行打开/usr/lib/php/pear/PHPUnit/Autoload.php中所需的“File/Iterator/Autoload.php”(include_path='。:')

我注意到include路径是“.”,所以我在终端中运行了这个,以找到正在加载的php.ini文件“php--ini”,并得到这个

Loaded Configuration File:         /Applications/MAMP/bin/php/php5.4.4/conf/php.ini
php.ini文件中的include路径为

include_path = ".:/Applications/MAMP/bin/php/php5.4.4/lib/php:/usr/lib/php/pear:/usr/bin/phpunit"
那么,为什么在终端中运行phpunit时会显示为“.”

作为检查,我使用以下代码创建了一个php文件:

echo get_include_path();
当我在终端中运行该文件时,它会在php.ini文件中输出include路径

我还添加了
echo get_include_path()
到/Applications/MAMP/bin/php/php5.4.4/lib/php/PHPUnit/Autoload.php的顶部。当我在终端中运行phpunit时,输出的include路径是“.”:


phpunit似乎正在加载另一个需要修复的include路径。

可能有两个phpunit安装,一个在
/usr/lib/php/pear/
中,另一个在MAMP目录中。你得到第一个执行


如果是这种情况,那么您应该更改
$PATH
以使MAMP php bin dir位于第一个位置。

对我来说,简单的方法是直接从以下位置下载最新版本:,然后在终端中找到下载文件的位置,然后:

machine:~ username$ chmod +x phpunit.phar

machine:~ username$ mv phpunit.phar /usr/local/bin/phpunit
调整路径,例如在.profile中:

machine:~ username$ pico .profile
确保您有这一行,如果没有,只需包括:

export PATH=/usr/local/bin/:$PATH
退出并重新打开终端或:

machine:~ username$ source .profile
现在呢

machine:~ username$ phpunit --version
应显示最新安装的版本