Maison  >  Article  >  développement back-end  >  Que faire si le fork php pcntl échoue

Que faire si le fork php pcntl échoue

藏色散人
藏色散人original
2022-12-19 10:03:484888parcourir

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.

Que faire si le fork php pcntl échoue

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn