3

同時に、ユキヒョウからライオンに移行する新しいコンピューターに移行しています。phpunit は移行されていないようだったので、再インストールしました。ただし、pear を使用した標準インストールは、php の自作インストールでは機能しないようです。エラーは次のとおりです。

phpユニット
PHP 警告: require(/usr/lib/php/PHPUnit/Autoload.php): ストリームを開くことができませんでした: 行 43 の /usr/bin/phpunit にそのようなファイルまたはディレクトリはありません

警告: require(/usr/lib/php/PHPUnit/Autoload.php): ストリームを開くことができませんでした: 行 43 の /usr/bin/phpunit にそのようなファイルまたはディレクトリはありません
PHP 致命的なエラー: require(): 必要な '/usr/lib/php/PHPUnit/Autoload.php' を開くことができませんでした (include_path='.:/Users/bimemployee/pear/share/pear:/usr/lib/php') /usr/bin/phpunit の 43 行目

致命的なエラー: require(): 必要な '/usr/lib/php/PHPUnit/Autoload.php' (include_path='.:/Users/bimemployee/pear/share/pear:/usr/lib/php') を開けませんでした/usr/bin/phpunit 行 43

/usr/local/etc/php.ini にある自作の php.ini ファイルへのシンボリック リンクとして、メインの /etc/php.ini ファイルを使用してコンピューターをセットアップしています。これには、動作しているように見えるインクルード パスが含まれています。

php -r 'foreach (explode(":", get_include_path()) as $path) echo $path . PHP_EOL;'
ログ処理が有効になっていません - stderr ロギングを有効にしています
モジュールが見つかりません (LM-SENSORS-MIB): At line 0 in (none)
.
/Users/bimemployee/ナシ/シェア/ナシ
/usr/lib/php

また、.bash_profile ファイルを介して自作バージョンで動作するように php を設定しています。

export PATH="$(brew --prefix)/bin:$PATH"
どのphp
/usr/local/bin/php
どのphpユニット
/usr/bin/phpunit

助けてくれてありがとう。

-コーリー

4

3 に答える 3

6

最新バージョンまたは完全な phpunit インストールがない可能性があります。を使用してすべての依存関係をインストールする必要があるため、--alldeps 次のようにphpunitをインストールする必要があります。

pear channel-discover pear.symfony.com # for Yaml dependency
pear channel-discover pear.phpunit.de
pear install --alldeps phpunit/PHPUnit

これは私にとってはうまくいきます;)

于 2012-11-15T11:34:58.120 に答える
2

あなたが抱えている問題はinclude_path、実際の(実際の)php libディレクトリとbrew linkコマンドに関連している可能性があります。

Brew は php lib をCellarbrew linkディレクトリにインストールし、既存のすべてのリソースを/usr/local/lib/php(または/usr/lib/php- インストールによっては)リンク ( ) します。

問題は、プロセスをリンクした後 (おそらく pear のFile.php更新/アップグレード後)にCellarFile/ php lib に表示されます。つまり、 ではリンクされません。それを修正するには、簡単に何度でもできます。/usr/local/lib/phpbrew unlinkbrew link

さらに、pear php_dir を に設定するとよいでしょう/usr/local/lib/php。このようにして、すべての新しい pear モジュールは、リンク プロセスなしで正しい宛先にインストールされます。これにより、カスタム Pear モジュールと PHP lib 自体が適切に分離されます。

于 2012-08-31T08:54:30.800 に答える
1

PHPUnitが存在するPEARディレクトリが含まれるように、php.iniでphpインクルードパスを設定する必要があります。

include_path = ".:/Applications/MAMP/bin/php/php5.3.6/lib/php:"

適切な場所を見つけるには、スポットライトを使用してAutoload.phpを検索する必要がある場合があります。

于 2012-06-20T15:33:51.237 に答える