如何在Apache中使用pcntl_fork()?

yeg*_*256 2 php apache pcntl

这是我的代码,里面index.php(只是一个例子):

$pid = pcntl_fork();
if ($pid == -1) {
  die("failed to fork");
} else if ($pid) {
  // nothing to do
} else {
  putDataIntoWebService();
  exit();
}
echo "normal page content";
Run Code Online (Sandbox Code Playgroud)

此代码段在命令行中正常工作.在Apache中exit(),父母和孩子一起杀死它们.什么是变通方法?

Hub*_*bro 5

您不能将这些pcntl_*函数与PHP的Apache模块版本一起使用.引用pcntl_fork文档中的评论:

当PHP用作Apache模块时,不可能使用函数'pcntl_fork'.您只能在CGI模式或命令行中使用pcntl_fork.

使用此函数将导致:'致命错误:调用未定义的函数:pcntl_fork()'