RabbitMQ を処理するためにクラウド サービスを使用します。目的は、MQTT を使用するスマート オブジェクトからメッセージを送受信することです。すべて動作しますが... 送信時に formPage.php が、initRpc.php を実行する shellexec コマンドをトリガーします。 initRpc.php では、この無限ループはメッセージを受信するために使用されますが、header('location ...'); のように、前に宣言されていても他のすべての関数をブロックします。
while (count($channel->callbacks))
{
try {
$channel->wait(null, false, $timeout);
}
catch (AMQPTimeoutException $e) {
return;
}
}
その結果、送信時の formPage.php は同じページに残り、永遠に読み込まれます。この問題を防ぐ方法は?
ただし、リンクを手動でクリックしてウェブサイトをナビゲートし、他のリクエストも行うことができます..受信機は問題なくバックグラウンドで実行されています.