Solution à l'échec du fork php pcntl : 1. Vérifiez si php.ini a chargé l'extension pcntl ; 2. Vérifiez si composer a installé ext-pcntl ; 3. Utilisez pcntl_fork en mode CGI ou en ligne de commande.
L'environnement d'exploitation de ce tutoriel : système Windows 10, PHP version 8.1, ordinateur DELL G3
Que dois-je faire si le fork php pcntl échoue ?
pcntl_fork() a renvoyé une erreur fatale : appel d'une fonction non définie pcntl_fork()
J'utilise la fonction pcntl_fork() sur un projet exécuté avec l'environnement intégré mamp sur mac, mais ce qui est étrange, c'est que j'ai vérifié PHP . ini a chargé l'extension pcntl et composer a également installé ext-pcntl, mais lors de son appel, une fonction non définie pcntl_fork() sera signalée. J'ai cherché dans de nombreuses directions mais je n'ai pas pu la résoudre. que PCNTL n'est pas disponible sur la plateforme 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); }
J'ai trouvé la réponse plus tard sur stackoverflow :
Lors de l'utilisation d'Apache comme serveur php, le module de fonction 'pcntl_fork' ne peut pas être utilisé (par exemple XAMPP). Vous ne pouvez utiliser pcntl_fork qu'en mode CGI ou en ligne de commande.
Alors. . . Changer le serveur en nginx peut résoudre le problème.
Apprentissage recommandé : "Tutoriel vidéo PHP"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!