1

MAMPを使用してos x Lionにphpunitをインストールしようとしています。/Applications/MAMP/bin/php/php5.4.4/lib/php に phpunit をインストールしました。

ターミナルで phpunit を実行すると、次のエラーが表示されます。

警告: require_once(File/Iterator/Autoload.php): ストリームを開けませんでした: No such file or directory in /usr/lib/php/pear/PHPUnit/Autoload.php on line 45

致命的なエラー: 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

たとえば、.profile で PATH を調整します。

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

PHPUnit が 2 つインストールされている可能性があります/usr/lib/php/pear/。1 つは MAMP ディレクトリに、もう 1 つは MAMP ディレクトリにあります。最初に実行されたものを取得します。

その場合$PATHは、MAMP php bin dir を最初の位置に配置するように変更する必要があります。

于 2013-01-02T08:57:06.643 に答える