データをテキストファイルにキャッシュするかなり基本的なPHPスクリプトがあります。スクリプトの実行中の2つのインスタンスが同時にファイルに書き込むのを防ぐソリューションを考え出す必要があります。PHP flock関数を調べましたが、PHPマニュアル(http://php.net/manual/en/function.flock.php)には1つの大きな制限が記載されています。
一部のオペレーティングシステムでは、flock()がプロセスレベルで実装されています。ISAPIのようなマルチスレッドサーバーAPIを使用する場合、同じサーバーインスタンスの並列スレッドで実行されている他のPHPスクリプトからファイルを保護するためにflock()に依存できない場合があります。
この警告に関して、誰かが答えてくれることを期待している2つの質問があります。まず、flockの実装がプロセスレベルで行われているかどうかを確認するにはどうすればよいですか?ところで、私はcPanelでCentOSを実行しています。
第二に、私の実装がプロセスレベルである場合、それは私のスクリプトの1つの実行中のインスタンスが、同じスクリプトの別の実行中のインスタンスによって行われたロックを認識しないことを意味しますか?または、スクリプトインスタンスは、個別のプロセスではなく、個別のスレッドで実行されますか?これについての説明は大歓迎です。
ありがとう。