我在 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 即可解决。