php之如何在 Apache 中使用 pcntl_fork()

webabcd 阅读:18 2024-10-01 17:34:08 评论:0

这是我的代码,在 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"; 

此代码段在命令行中运行良好。在 Apache 中,exit() 会同时杀死父进程和子进程。什么是解决方法?

请您参考如下方法:

您不能在 Apache 模块版本的 PHP 中使用 pcntl_* 函数。引用 pcntl_fork documentation 中的评论:

It is not possible to use the function 'pcntl_fork' when PHP is used as Apache module. You can only use pcntl_fork in CGI mode or from command-line.

Using this function will result in: 'Fatal error: Call to undefined function: pcntl_fork()'


标签:PHP
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号