この記事では、高い同時実行性と排他ロックを備えた PHP で file_put_contents を使用するときに空の書き込みデータが発生する問題と解決策を紹介します。必要な友達はそれを参照できます。
同時アクセスが多い場合、file_put_contents を使用してファイルを書き込むと、データが空白になります。 公式ドキュメントを表示: int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] ) パラメータ: ファイル名 データを書き込むファイルの名前。 データ 書き込まれるデータ。タイプは、文字列、配列、またはストリーム リソース (前述のように) です。 フラグ フラグには FILE_USE_INCLUDE_PATH、FILE_APPEND、LOCK_EX (排他ロックを取得するため) を指定できますが、FILE_USE_INCLUDE_PATH の使用には注意が必要です。 コンテキスト コンテキストリソース。 flags パラメータを LOCK_EX に設定するだけで、高同時実行時に排他ロックを取得できます。 さらに、flock 関数はファイルロック方法も提供します: リーリーflock() にはファイル ポインターが必要であることに注意してください。 |