最近、pearインストーラーを使用してphpunitをサーバーにインストールしました。
テストを実行すると、次のエラーが表示されます。
PHP警告:require_once(PHPUnit/Util/Filter.php):ストリームのオープンに失敗しました:44行目の/ usr/bin/phpunitにそのようなファイルまたはディレクトリがありません
PHPの致命的なエラー:require_once():44行目の/ usr/bin/phpunitで必要な 'PHPUnit/Util/Filter.php'(include_path = '。:/ usr/bin/php')を開くことに失敗しました
いくつかの検索を行った後、サーバー上のphp.iniファイルのinclude_pathを変更しようとしました。しかし、それは何もしていません。
何がこれを引き起こしているのでしょうか?
更新:2013年11月およびUbuntu 12.04の時点で、これら2つのコマンドで十分です。
Sudo pear config-set auto_discover 1
Sudo pear install pear.phpunit.de/PHPUnit
以下は古い回答です。これは既知の問題ですが、ほぼ1年半が経過しました。ここで読む
phpunitが正しく機能するためには、コードカバレッジをインストールする必要があります
ここで必要なことは次のとおりです。
基本的には、入力する必要があります(権限がない場合は、Sudoを使用して、phpunitが既にインストールされているとみなします):
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear install phpunit/PHP_CodeCoverage
OS Xでこの問題が発生しました。すべてのphp依存関係を強制的に再インストールする次のコマンドを使用して修正しました。
Sudo pear channel-discover pear.symfony-project.com
Sudo pear channel-discover components.ez.no
Sudo pear install --alldeps phpunit/PHPUnit
https://bugs.launchpad.net/ubuntu/+source/phpunit/+bug/701544
そして、特にubuntu 11.04のこのコメントは、他の一部の人にも当てはまるかもしれません
上記の手順を実行したにもかかわらず、動作しませんでしたが、梨を1.9.1から1.9.2にアップグレードした後は、これを実行するだけで完全に動作します
speshu @ speshu-laptop:〜$須藤梨アップグレード梨
downloading PEAR-1.9.2.tgz ...
Starting to download PEAR-1.9.2.tgz (295,120 bytes)
.....................................................done: 295,120 bytes
upgrade ok: channel://pear.php.net/PEAR-1.9.2
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
PEARを初めて使用する場合は、インクルードパスの権利を構成していない可能性があります。 PEAR manual の適切なセクションをご覧ください。
https://github.com/sebastianbergmann/php-code-coverage
sb@ubuntu ~ % pear channel-discover pear.phpunit.de
Adding Channel "pear.phpunit.de" succeeded
Discovery of channel "pear.phpunit.de" succeeded
sb@ubuntu ~ % pear channel-discover components.ez.no
Adding Channel "components.ez.no" succeeded
Discovery of channel "components.ez.no" succeeded
sb@vmware ~ % pear install phpunit/PHP_CodeCoverage
downloading PHP_CodeCoverage-0.9.0.tgz ...
Starting to download PHP_CodeCoverage-0.9.0.tgz (108,376 bytes)
.........................done: 108,376 bytes
install ok: channel://pear.phpunit.de/PHP_CodeCoverage-0.9.0
これは、古いまたは不完全なPHPUnitインストールがある場合にも発生します。 PEARをセットアップした後、最新のパッケージを取得するために PHPUnit.de channel を追加する必要があることに注意してください。
(include_path = '。:/ usr/bin/php')
sure include_pathに追加しましたか?
Iniファイルとinclude_pathスニペットを見た場合にも役立つかもしれません...
見つけた!
PEAR PHPUnitを/ usr/share/pearにインストールしました。理由はわかりませんが、それがどこにあるかです。(mt)のものでなければなりません。
とにかく、私はすべて設定されています。助けてくれてありがとう。
私の場合、/usr/share/php/PEAR
にinclude_path
を追加して解決しました。
Ubuntu 10.04.2を使用しています。
コンポーネントへのアクセスに問題がある場合は、別の方法を試してください。
ナシをインストール
Sudo apt-get install php-pear
Pearを使用してphpunit
をインストールします。
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
phpunit
/Seleniumをインストールしますが、最初にcurl
モジュールをインストールする必要があります
Sudo apt-get install php5-curl
pear install phpunit/PHPUnit_Selenium
私は同じ問題を抱えていました。 Netbeansは、phpunitのバージョンが古すぎる(古くない)と報告していました。 phpunitスクリプトを実行すると、上記のメッセージが直接表示されました。
私はそれを追加して解決しました:
include_path=".:/usr/share/php"
宛先/ etc/php5/cli/php.ini
php.iniファイルは、Apacheに使用されるphp.iniではなく、php CLI(コマンド)のファイルです!
Windows 8でも同じ問題が発生しました。トップの回答と同様に、コマンドラインを起動する必要がありましたが、cmd.exeを管理者として実行を確認してください。次に、2つのコマンド
pear config-set auto_discover 1
pear install pear.phpunit.de/PHPUnit
私の元の問題は、PHPのコマンドラインバージョン(yum install phpまたはyum install php-cli)を取得して=> php5.2.7にアップグレードできないことでした
Apacheで使用するためにphp 5.3.3を既にコンパイルしました。そこで、/ usr/bin/php(コマンドラインのデフォルト)から/ var/php5/bin/phpのコンパイル済みバージョンへのシンボリックリンクを設定して、コマンドラインphpレポート5.3.3を取得します。
その後、phpunitのpearのインストール手順を再フォローしました
ただし、phpunitを実行したときは、コードカバレッジが必要でした。
そこで、/ var/php5/lib/php/PHP/CodeCoverageの下でコードカバレッジを探し、php.iniのincludeパスにinclude_path = "。:/ var/php5/lib/php /"を追加しました。
PhpunitはPHP /(notice caps)で開始するため、/ PHPなしでインクルードパスに追加してください。コードカバレッジの検索に失敗しました 'PHP/CodeCoverage/Filter.php'
この問題がありました。私はzendフレームワークサイトを開発していました。最後に、zendのインストールを削除し、Apacheとcliのphp.iniファイルを削除して、インクルードパスを削除することで解決します。 zendでサイトを開発するために、zendをインストールする必要はありません。ライブラリをサイトフォルダーにコピーできます
私にとっては、テストを複数のバッチに分割することが役立ちました。
PEARで環境変数を再定義することにより、この問題を解決できます。これが私が問題を解決した方法であり、Ubuntu 12.10を使用しました
http://rkrants.blogspot.in/2013/01/installing-phpunitpear-in-ubuntu-1210.html
要するに、パスを定義してからphpunitを再インストールします
Ubuntu 12.04:
Sudo pear channel-discover pear.symfony.com
Sudo pear install --alldeps phpunit/PHPUnit