Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn der PHP-PCNTL-Fork fehlschlägt?

Was tun, wenn der PHP-PCNTL-Fork fehlschlägt?

藏色散人
藏色散人Original
2022-12-19 10:03:484942Durchsuche

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.

Was tun, wenn der PHP-PCNTL-Fork fehlschlägt?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn