Maison >développement back-end >Problème PHP >Que faire si php cgi se ferme automatiquement

Que faire si php cgi se ferme automatiquement

藏色散人
藏色散人original
2020-09-04 10:02:163737parcourir

Solution à l'arrêt automatique de PHP cgi : complétez d'abord l'enregistrement de "pthreadgc2.dll" ; puis copiez le répertoire xxfpm dans nginx ; puis modifiez le fichier de démarrage et d'arrêt "RunHiddenConsole" et enfin configurez Windows ; variables d'environnement.

Que faire si php cgi se ferme automatiquement

Recommandé : "Tutoriel vidéo PHP"

Pour résoudre le problème que pose le processus php-cgi sous Windows se ferme souvent automatiquement

php-cgi a une gestion fpm sous Linux. Apache n'utilise pas le mode cgi, il apparaît donc sous Windows, lors de l'utilisation de nginx, la surveillance php-cgi activée est très instable. , plante souvent et s'arrête. Ce problème est désormais résolu. Notez que ce problème est résolu sous le système win32 bits. Bien que le système 64 bits fonctionne également sur le serveur, l'environnement est entièrement 32 bits.

À l'aide de ce gestionnaire de processus FastCGI appelé xxfpm : xxfpm

Après le téléchargement, exécutez xxfpm.exe Si une erreur se produit indiquant que pthreadgc2.dll est manquant, vous devez télécharger pthreads-win32 : http : //sourceware .org/pthreads-win32/

Que faire si php cgi se ferme automatiquement

Copiez ce fichier dans C:/Windows/System32 (si le système est 64 bits, veuillez copier le fichier 32 bits dll dans le répertoire C : WindowsSysWOW64 );

Ensuite, ouvrez « Démarrer-Exécuter-Enter regsvr32 pthreadgc2.dll » et appuyez sur Entrée. Si une erreur est signalée, utilisez la méthode suivante.

Créez un nouveau fichier "registration.bat" avec le contenu :

@echo 开始注册
copy pthreadgc2.dll %windir%\system32\
regsvr32 %windir%\system32\pthreadgc2.dll /s
@echo pthreadgc2.dll注册成功
@pause

Double-cliquez sur Registration.bat, et l'enregistrement de pthreadgc2.dll sera automatiquement terminé (si un système 64 bits installe un Fichier dll 32 bits, veuillez remplacer system32 par SysWOW64). Une fois terminé, vous pouvez supprimer ce fichier.

Ensuite, copiez le répertoire xxfpm téléchargé dans nginx :

Que faire si php cgi se ferme automatiquement

Afin de faciliter la modification du fichier de démarrage et d'arrêt de RunHiddenConsole lors de l'installation de nginx (si Si vous avez configuré manuellement l'environnement Nginx dans Windows et l'avez installé comme ceci) :

Modifiez start_nginx.bat en :

@echo off
REM Windows 下无效
REM set PHP_FCGI_CHILDREN=5

REM Le nombre maximum de requêtes traitées par chaque processus, ou définissez-le sur une variable d'environnement Windows

set PHP_FCGI_MAX_REQUESTS=1000
echo Starting PHP FastCGI…
RunHiddenConsole D:/wnmp/nginx-1.10.2/xxfpm/bin/xxfpm.exe “D:/wnmp/php-5.6/php-cgi.exe -c D:/wnmp/php-5.6/php.ini” -n 5 -i 127.0.0.1 -p 9000
echo Starting nginx…
RunHiddenConsole D:/wnmp/nginx-1.10.2/nginx.exe -p D:/wnmp/nginx-1.10.2
exit

Modifier stop_nginx.bat en :

@echo off
echo Stopping nginx…
taskkill /F /IM nginx.exe > nul
echo Stopping PHP FastCGI…
taskkill /F /IM xxfpm.exe > nul
exit

Maintenant, au démarrage de nginx, nous ouvrons 5 processus php-cgi en même temps car nous avons passé le paramètre -n à 5.

Que faire si php cgi se ferme automatiquement

Si on en casse un manuellement, on constatera qu'il y en a un autre, toujours 5. xxfpm gérera php-cgi et le maintiendra dans 5 processus php-cgi pour empêcher le processus cgi de planter et de s'arrêter. Une autre chose à noter est que le port d'écoute doit être aligné sur le fichier de configuration nginx.

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