PHP でのロックに関するテキストを読んでください。
それらはすべて、主にhttp://php.net/manual/en/function.flock.phpに向けられています。
このページでは、ハードディスク上のファイルを開く方法について説明します!!
本当にそうですか?つまり、これはロックを非常に高価にします-つまり、ロックするたびにハードディスクにアクセスする必要があります )=
嬉しいニュースでもう私を慰めることができますか?
編集:
私がここで得たいくつかの返信のために、私はこれを尋ねたいと思います;
私のスクリプトは 1 つのスレッドだけで実行されますか、それとも複数のスレッドで実行されますか? それが1つの場合、明らかにミューテックスは必要ないからです。簡潔な答えはありますか?
私は正確に何をしようとしていますか
ircmaxell からの質問。
これは話です:
私は 2 つの ftp サーバーを持っています。オンライン ユーザーの数を自分の Web サイトに表示できるようにしたいと考えています。
したがって、これらの ftp サーバーは統計情報を特定の PHP スクリプト ページに「POST」すると考えました。このページの URL を「http://mydomain.com/update.php」とします。
Web サイトのメイン ページ (" http://mydomain.com/index.php ") で、累積統計 (オンライン ユーザー) を表示します。
それでおしまい。
私の問題は、ある ftp サーバーが自分の統計を更新している間に別の ftp サーバーが更新した場合、情報が混ざり合うかどうかわからないことです。
マルチスレッドのときのように。2 つのスレッドが同時にいくつかの「int」変数を増やします。それらの間で同期しない限り、期待どおりには起こりません。
それで、私は問題がありますか?そうですね?
考えられる解決策
一日中一生懸命考えていると、ここにアイデアがあります。あなたの意見を聞かせてください。
前述のように、これらの ftp サーバーは 60 秒ごとに統計を投稿します。
このファイル「stats.php」を持つことを考えています。
これは、ftp サーバーがアクセスする更新スクリプト (「update.php」) と、訪問者がオンラインのユーザー数を確認できる「index.php」ページに含まれます。
これで、ftp サーバーが更新されると、「update.php」のスクリプトが「stats.php」を新しい累積統計で変更します。
最初に「stats.php」に含まれる統計を読み取り、蓄積し、そのファイルを書き換えます。
私が間違っていなければ、PHP はファイル ("stats.php") が変更されたことを検出し、新しいファイルをロードします。正しい?