经过真正的努力,我设法让我的 php Zend 应用程序使用多线程运行。为此,我在 CGI 模式下配置了 Apache,以便使用 php pcntl_* 函数。我有这个问题 这是我的叉子
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();
}
}
每次我调用此函数时,都会创建进程并完美运行,但我失去了对浏览器上网页的控制(我无法再浏览我的网站了)。它似乎加载页面很长时间,直到它给我一个错误。我需要关闭浏览器(只需一个我无法重新连接的新选项卡),然后重新连接到服务器。会不会是最后创建的进程正在监听我的 http 端口?我该如何解决这个问题?谢谢