Solution to php pcntl fork failure: 1. Check whether php.ini has loaded the pcntl extension; 2. Check whether composer has installed ext-pcntl; 3. Use pcntl_fork in CGI mode or command line .
The operating environment of this tutorial: Windows 10 system, PHP version 8.1, DELL G3 computer
What should I do if php pcntl fork fails?
pcntl_fork() returns fatal error: Calling undefined function pcntl_fork()
I want to use it on a project running with mamp integrated environment on mac to the pcntl_fork() function, but the strange thing is that I checked that php.ini has loaded the pcntl extension, and composer has also installed ext-pcntl, but when I call it, it will report undefined function pcntl_fork(), and I have searched in many directions but can't solve it. , one point to note is that PCNTL is not available on Windows platforms.
$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); }
Later found the answer on stackoverflow:
The function 'pcntl_fork' module (e.g. XAMPP) cannot be used when using Apache as php server. You can only use pcntl_fork in CGI mode or the command line.
so. . . Changing the server to nginx can solve the problem.
Recommended learning: "PHP Video Tutorial"
The above is the detailed content of What to do if php pcntl fork fails. For more information, please follow other related articles on the PHP Chinese website!