ある PHP スクリプトが、別のスクリプトの実行中に送信されるイベントを待機するようにします。
ユーザー A とユーザー B はどちらも私の Web サイトの訪問者です。ユーザー A が index.php にアクセスすると、ページの実行が開始されますが、ユーザー B も index.php にアクセスするまで戻りません。(このページは、両方のユーザーが Web サーバーに接続している場合にのみ表示されます。たとえば、2 人の警備員が同時に鍵を回して金庫を開けた場合などです。)
これを実現する 1 つの方法は、他のユーザーが index.php にアクセスしたことによる通知を受信するまで、index.php の実行を一時停止することです。
これを行うために、私は見ました
- libevent; ただし、シグナリング中に「ID」または「文字列」を送信することは許可されていないようです。
- pear の Event_Dispatcher; ただし、スクリプトの「間」では機能しません。
- PHP 共有メモリ関数; しかし、メモリが変更されるまで待つことができないようです。