乐趣区

关于php:pcntlfork返回致命错误调用未定义函数pcntlfork

我在 mac 上用 mamp 集成环境跑的一个我的项目上要应用到 pcntl_fork() 函数,但奇怪的是我查看过 php.ini 曾经加载了 pcntl 扩大,composer 也装置了ext-pcntl,然而调用的时候就是会报undefined function pcntl_fork(),找了很多方向都没有解决,要留神的一个点是 PCNTL 在 Windows 平台上不可用。

$pid = pcntl_fork();
if($pid == -1){file_put_contents('testlog.log',"\r\nFork Test",FILE_APPEND);
    return 1; //error
}
else if($pid){return 0; //success}
else{file_put_contents($log, 'Running...', FILE_APPEND);
}

起初在 stackoverflow 上找到答案:

当应用 Apache 作为 php 服务器时,无奈应用性能 ’pcntl_fork’ 模块(例如 XAMPP)。您只能在 CGI 模式或命令行中应用 pcntl_fork。

所以。。。把服务器换成 nginx 即可解决。

退出移动版