本当に多くの努力を重ねた結果、php Zend アプリケーションをマルチスレッドで実行することができました。そのために、php pcntl_* 関数を使用するために、Apache を CGI モードで構成しました。私はこの問題を抱えていますこれは私のフォークです
function fork() {
$pid = pcntl_fork();
if ($pid == -1)
throw new Exception('fork error on Task object');
elseif ($pid) {
# we are in parent class
$this->pid = $pid;
# echo "< in parent with pid {$his->pid}\n";
} else {
# we are in child
$sid = posix_setsid();
if ($sid < 0) {
exit;
}
$this->run();
}
}
この関数を呼び出すたびに、プロセスが作成され、問題なく実行されますが、ブラウザーで Web ページを制御できなくなりました (Web サイトをナビゲートできなくなりました)。エラーが発生するまで、ページを長時間ロードしているようです。ブラウザをシャットダウンして(再接続できない新しいタブだけで)、サーバーに再接続する必要があります。最後に作成されたプロセスが http ポートでリッスンしている可能性がありますか? どうすればこれを解決できますか? ありがとう