php fopen エラーの解決策: 1. ディレクトリまたはフォルダーのアクセス許可を変更します; 2. ファイルを開くパスを変更します; 3. php.ini 構成ファイルを変更します。
この記事の動作環境:centOS6.8システム、phpバージョン7.2.2、DELL G3コンピュータ
php fopen関数は false を返します。どうすればよいですか?
yum を使用して apache2.4.6 php 7.2.2 をインストールします。正しくインストールした後、fopen() 関数を使用してファイルを開くと false が返されます
Baidu には 3 つの理由があります
1. ディレクトリまたはフォルダーのアクセス許可の理由
(chmod -R 777 ルート ディレクトリとフォルダーを使用して最高のアクセス許可を設定できます)
2. ファイル パスを開く際のエラー
3. オープニングメソッドエラー(w,r,a)等
##上記のエラーではないことが判明しました#手動でphpエラーレポートを追加
//error handler function function customError($errno, $errstr){ echo "<b>Error:</b> [$errno] $errstr"; } //set error handler set_error_handler("customError");
返されるエラー メッセージは次のとおりです
failed to open stream: Permission denied
権限がないことを証明します
読み取り専用モードに切り替えると通常どおり開くことができます
PHP だと思います権限が制限されています。
php.ini で open_basedir を検索して構成を表示します。デフォルトはコメントが失われています。つまり、権限に制限はありません。
最終的に、さまざまな Baidu で見つけました。インターネット上で
# that selinux Permission Management is install by default in the centos system, and it is Enabled bydefault
百度で selinux を検索したところ、ほとんどの紹介が次のようです。直接閉じてください。設定するのは非常に面倒そうです。
あとはオフにするだけです。
vim /etc/selinux/conf
SELINUX= enforcing
の
SELINUX=disabled
の変更が表示されます。
サーバーを再起動します
通常どおりファイルを再度書き込みます
推奨学習:「
PHP ビデオ チュートリアル以上がphp fopenがエラーを報告した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。