php pcntl fork失败的解决办法:1、检查php.ini是否加载了pcntl扩展;2、查看composer是否安装了ext-pcntl;3、在CGI模式或命令行中使用pcntl_fork即可。
本教程操作环境:windows10系统、PHP8.1版、DELL G3电脑
php pcntl fork失败怎么办?
pcntl_fork()返回致命错误:调用未定义函数pcntl_fork()
我在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即可解决。
推荐学习:《PHP视频教程》
以上是php pcntl fork失败怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!