ホームページ  >  記事  >  バックエンド開発  >  phpunitのインストールエラーの理由と解決策

phpunitのインストールエラーの理由と解決策

WBOY
WBOYオリジナル
2016-08-08 09:29:501312ブラウズ

公式ガイドライン

残念ながら、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脚本读取未授权的内容。当你想通过fopengzopen

警告メッセージから、アクセス可能なディレクトリには PATH 変数に含まれる

が含まれており、PHP スクリプトで読み取ることができるディレクトリでもあることがわかります。 リーリー /srv/http/:/home/:/tmp/:/usr/share/pear/,刚好 ~/binを再度実行すると、正しい結果が得られます:

リーリー

phpunitは正常にインストールされました!phpunit --version

上記では、phpunit のインストール エラーの原因と解決策を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。