php fopen 関数の失敗の解決策: まず、「set_error_handler("customError");」を通じて PHP エラー レポートを追加し、次に PHP 設定ファイル php 内のディレクトリへの PHP のアクセス制限を変更します。 .ini。
この記事の動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
PHP fopen が失敗してリターンしますfalse
12 月 14 日に問題が発生しました。今日、時間をかけて記録しました。この問題に遭遇した他の友人の助けになれば幸いです。
$fH = fopen("/tmp/test.log",'a');
上記のコード行では、fopen は実際には false を返しますが、これはディレクトリまたはファイルのアクセス許可関連の問題でも、ファイル パス (相対パス、絶対パス) などの問題でもありません。ファイルを開くモード (r、w、a など) の問題。しばらくネットで調べてみたところ、false が返される理由は単に上記 3 つの状況のいずれかであることがわかり、答えが見つかりませんでした。
そこで、PHP エラー レポートを追加しました:
//error handler function function customError($errno, $errstr){ echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError");
理由はすぐにわかりました:
PHP アクセス ディレクトリを php 設定ファイル php に作成したことがわかりました。 ini の制限:
open_basedir= .
[推奨学習: PHP ビデオ チュートリアル ]
以上がPHPのfopen関数が失敗した場合の対処法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。