公式ガイドライン
残念ながら、phpunit はまだ ArchLinux リポジトリにありません。
そのため、ダウンロードしてインストールする方法を使用してください。公式ガイドラインに従ってください:
リーリー次のエラーが発生します:
リーリーphar拡張を有効にする
まず解決してくださいFatal error: Class 'Phar' not found
。
phar.so が見つかりました。これは、Phar 拡張機能がインストールされていることを意味します。つまり、拡張機能は有効になっていませんか?
オープン/etc/php/php.ini
搜索 phar
,果然发现 extension=phar.so
被注释掉了。去掉该行前面的 ;
,保存php.ini,再次运行 phpunit --version
。
Fatal error
解決しましたが、警告がまだ表示され、phpunit が適切に実行されていません。
ファイルアクセスのためのphp保護メカニズム
Google で説明を見つけました: http://www.templatemonster.com/help/open_basedir-restriction-in-effect-filex-is-not-within-the-allowed-paths-y.html
PHP open_basedir 保護調整は、フォルダーが明示的に除外されている場合を除き、ユーザーがホーム ディレクトリの外にあるファイルやスクリプトを PHP で開けないようにするセーフ モードのセキュリティ対策です。これにより、PHP の open_basedir 設定が有効になっている場合、すべてのファイル操作が確実に制限されます。これにより、特定のユーザーの PHP スクリプトが、権限のないユーザーのアカウントにあるファイルにアクセスするのを防ぐことができます。スクリプトが、たとえば fopen() や gzopen() でファイルを開こうとした場合、ファイルの場所は次のようになります。ファイルが指定された、または許可されたディレクトリ ツリーの外にある場合、PHP はそのファイルを開くことを拒否し、次のエラーが発生する可能性があります: ...
それは、php.ini でファイルを開くときに、ファイルの場所が許可されていないディレクトリにない場合、上記の警告メッセージが表示されます。 open_basedir
是php为保证安全进行文件访问的设置。如果该选项被赋值,所有的文件操作将限定在特定的目录里,这样可以防止某个用户使用php脚本读取未授权的内容。当你想通过fopen
或gzopen
が含まれており、PHP スクリプトで読み取ることができるディレクトリでもあることがわかります。
リーリー
/srv/http/:/home/:/tmp/:/usr/share/pear/
,刚好 ~/bin
を再度実行すると、正しい結果が得られます:
phpunitは正常にインストールされました!phpunit --version