Lösung für den PHP-PCNTL-Fork-Fehler: 1. Überprüfen Sie, ob php.ini mit der PCNTL-Erweiterung geladen ist. 2. Überprüfen Sie, ob Composer ext-PCNTL installiert hat. 3. Verwenden Sie PCNTL_Fork im CGI-Modus oder in der Befehlszeile.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, PHP-Version 8.1, DELL G3-Computer
Was soll ich tun, wenn der PHP-PCNTL-Fork fehlschlägt?
pcntl_fork() hat einen schwerwiegenden Fehler zurückgegeben: Aufruf einer undefinierten Funktion pcntl_fork()
Ich möchte die Funktion pcntl_fork() für ein Projekt verwenden, das mit der integrierten mamp-Umgebung auf einem Mac ausgeführt wird, aber das Seltsame ist, dass ich PHP überprüft habe .ini hat die Erweiterung pcntl geladen und Composer hat auch ext-pcntl installiert, aber beim Aufruf wird die undefinierte Funktion pcntl_fork() gemeldet. Ich habe in viele Richtungen gesucht, konnte es aber nicht lösen ist, dass PCNTL auf der Windows-Plattform nicht verfügbar ist.
$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); }
Habe die Antwort später auf Stackoverflow gefunden:
Bei Verwendung von Apache als PHP-Server kann das Funktionsmodul „pcntl_fork“ nicht verwendet werden (z. B. XAMPP). Sie können pcntl_fork nur im CGI-Modus oder über die Befehlszeile verwenden.
Also. . . Ein Wechsel des Servers auf Nginx kann das Problem lösen.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas tun, wenn der PHP-PCNTL-Fork fehlschlägt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!