PHP のファイル書き込み権限の失敗を解決する方法 file_put_contents: ストリームを開けませんでした: 権限が拒否されました
問題
ログ書き込みメソッドでfile_put_contentsメソッドが使用されていますが、現在、ログを書き込むコールバックメソッドを実行すると、書き込み権限がない旨のメッセージが表示されます。ファイルとエラー メッセージ
file_put_contents: ストリームを開けませんでした: 許可が拒否されました(PHP ビデオ チュートリアル )
解決プロセス
#毎日生成されるため、定期的に実行されるスケジュールされたタスクがあるため、ログ フォルダーのアクセス許可を確認します。実行ユーザーは root なので、フォルダーを生成するユーザーとユーザー グループは両方とも root です。コールバックの実行ユーザーメソッドは www で、ログに書き込まれます メソッド
if(!is_dir($dir)){ mkdir($dir,0777,true); }
ディレクトリが存在しない場合は、ディレクトリを作成しますが、PHP の mkdir 関数でフォルダーを作成するときに 777 のアクセス許可を設定します。実際、作成されたファイルにはまだ755 権限。 Linux システムでは、ファイル/フォルダーの作成時にデフォルトのアクセス許可があります。このアクセス許可は、umask 設定の影響を受けます。/etc/bashrc 設定ファイルには、次の設定があります:
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002else umask 022fi
Default umask Linuxシステムでは022です。弊社の777&で動作させると755になります。これが理由です。ここでの設定は、PHP の問題だけでなく、Linux システムのデフォルトの権限設定に直接影響します。したがって、これを直接変更して 022 を 000 に変更することはお勧めできません。
最終解決策
最初にディレクトリを作成し、次に chmod を使用して権限を 777
mkdir('test', 0777); chmod('test', 0777);
以上がPHP のファイル書き込み権限の失敗を解決する方法 file_put_contents: ストリームを開けませんでした: 権限が拒否されましたの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー
