it-swarm.com.de

pcntl_fork () zurückgeben, schwerwiegender Fehler: Aufruf der undefinierten Funktion pcntl_fork ()

Ich versuche, einen XAMPP-PHP-Prozess unter Verwendung von pcntl_fork () mit einer Befehlszeile auszuführen. Wenn ich den folgenden Befehl ausführe:

$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);
}

Ich bekomme:

Fatal error: Call to undefined function pcntl_fork()

Kann jemand vorschlagen, wie man das beheben kann?

17
Ben Pearce

Die Funktion 'pcntl_fork' kann nicht verwendet werden, wenn PHP als Apache-Modul (z. B. XAMPP) verwendet wird. Sie können pcntl_fork nur im CGI-Modus oder über die Befehlszeile verwenden.

Die Verwendung dieser Funktion führt zu folgendem Ergebnis: 'Fataler Fehler: Aufruf an undefinierte Funktion: pcntl_fork ()'

Quelle: http://php.net/manual/de/function.pcntl-fork.php

27
Andrea

Um zu sehen, ob es installiert ist, führen Sie Folgendes aus:

php -i | grep pcntl

Wenn es vorhanden und aktiviert ist, ist die pcntl-Funktion wahrscheinlich deaktiviert, was bei neueren Installationen von PHP 5.x der Standard zu sein scheint. Führen Sie zur Überprüfung Folgendes aus:

php -i | grep disable_functions

Wenn Sie eine Liste der pcntl_ * -Funktionen sehen, müssen Sie Ihre php.ini-Datei (in XAMPP) bearbeiten und die Zeile disable_functions= auskommentieren.

Ich würde empfehlen, dass Sie diese Distribution von PHP für OS X verwenden, das aktuelle Versionen hat und ich kann bestätigen, dass es die Erweiterung pcntl hat.

9
Stuart Carnie

pcntl_*-Funktionen, Process Control-Unterstützung in PHP ist standardmäßig nicht aktiviert. Sie müssen die CGI- oder CLI-Version (nicht als Apache-Modul verwendet) von PHP mit der Konfigurationsoption --enable-pcntl kompilieren, wenn Sie PHP kompilieren, um die Prozesssteuerungsunterstützung zu aktivieren.

Dieses Modul funktioniert derzeit nicht auf Nicht-Unix-Plattformen (Windows).

ref

1
Nabi K.A.Z.