ホームページ >バックエンド開発 >PHPチュートリアル >file_put_contents の高い同時実行性と排他的ロックの問題

file_put_contents の高い同時実行性と排他的ロックの問題

WBOY
WBOYオリジナル
2016-07-25 08:56:302023ブラウズ
この記事では、高い同時実行性と排他ロックを備えた 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() にはファイル ポインターが必要であることに注意してください。



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