1

我正在尝试使用 MAMP 在我的 os x 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='.:')

我注意到包含路径是“。” 所以我在终端中运行它来查找正在加载的 php.ini 文件“php --ini”并得到这个

Loaded Configuration File:         /Applications/MAMP/bin/php/php5.4.4/conf/php.ini

php.ini 文件中的包含路径是

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 文件中输出包含路径。

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

似乎 phpunit 正在加载需要修复的不同包含路径。

4

2 回答 2

0

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

machine:~ username$ chmod +x phpunit.phar

machine:~ username$ mv phpunit.phar /usr/local/bin/phpunit

调整您的 PATH,例如在 .profile 中:

machine:~ username$ pico .profile

确保您有这一行,如果没有,只需包括:

export PATH=/usr/local/bin/:$PATH

退出并重新打开终端或:

machine:~ username$ source .profile

现在

machine:~ username$ phpunit --version

应该显示最新安装的版本

于 2014-03-24T08:45:44.657 回答
0

可能是您安装了 2 个 PHPUnit,一个/usr/lib/php/pear/在您的 MAMP 目录中。你得到第一个执行。

如果是这种情况,那么您应该将您$PATH的 MAMP php bin 目录更改为第一个位置。

于 2013-01-02T08:57:06.643 回答