Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn PHP CGI automatisch geschlossen wird?

Was tun, wenn PHP CGI automatisch geschlossen wird?

藏色散人
藏色散人Original
2020-09-04 10:02:163707Durchsuche

Lösung zum automatischen Herunterfahren von PHP cgi: Schließen Sie zuerst die Registrierung von „pthreadgc2.dll“ ab. Kopieren Sie dann das xxfpm-Verzeichnis nach nginx. Ändern Sie dann die Start- und Shutdown-Datei und legen Sie schließlich die Windows-Umgebungsvariablen fest.

Was tun, wenn PHP CGI automatisch geschlossen wird?

Empfohlen: „PHP-Video-Tutorial

Lösung für das Problem, dass der PHP-CGI-Prozess unter Windows oft automatisch geschlossen wird

php-CGI verfügt über eine FPM-Verwaltung unter Linux, Apache verwendet kein CGI Modus, also Es stellte sich plötzlich heraus, dass unter Windows bei Verwendung von Nginx die aktivierte PHP-CGI-Überwachung sehr instabil war und häufig abstürzte und herunterfuhr. Dieses Problem ist nun gelöst. Beachten Sie, dass das Problem unter einem Win32-Bit-System gelöst wird. Obwohl das 64-Bit-System auch auf dem Server ausgeführt wird, ist die Umgebung vollständig 32-Bit.

Verwenden Sie diesen FastCGI-Prozessmanager namens xxfpm: xxfpm

Führen Sie nach dem Herunterladen xxfpm.exe aus. Wenn ein Fehler auftritt, dass pthreadgc2.dll fehlt, müssen Sie pthreads-win32 herunterladen: http://sourceware.org/pthreads-. win32/

Was tun, wenn PHP CGI automatisch geschlossen wird?

Kopieren Sie diese Datei nach C:/Windows/System32 (wenn das System 64-Bit ist, kopieren Sie bitte die 32-Bit-DLL-Datei in das Verzeichnis C:WindowsSysWOW64);

Dann öffnen Sie „Start-Ausführen“. -enter regsvr32 pthreadgc2 .dll", drücken Sie die Eingabetaste. Wenn ein Fehler gemeldet wird, verwenden Sie die folgende Methode.

Erstellen Sie eine neue Datei „Registration.bat“, Inhalt:

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

Doppelklicken Sie auf „registration.bat“, und die Registrierung von pthreadgc2.dll wird automatisch abgeschlossen (wenn ein 64-Bit-System eine 32-Bit-DLL-Datei installiert, ersetzen Sie diese bitte system32 mit SysWOW64). Wenn Sie fertig sind, können Sie diese Datei löschen.

Als nächstes kopieren Sie das heruntergeladene xxfpm-Verzeichnis nach nginx:

Was tun, wenn PHP CGI automatisch geschlossen wird?

Um die Änderung der RunHiddenConsole-Start- und Shutdown-Datei bei der Installation von nginx zu erleichtern (wenn Sie die Nginx-Umgebung in Windows manuell einrichten und wie folgt installieren) :

Ändern Sie start_nginx.bat in:

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

REM Die maximale Anzahl der von jedem Prozess verarbeiteten Anforderungen oder legen Sie sie auf eine Windows-Umgebungsvariable fest.

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

Ändern Sie stop_nginx.bat in:

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

Wenn wir jetzt Nginx starten, werden wir 5 gleichzeitig öffnen Ein PHP-CGI-Prozess, da wir den Parameter -n an 5 übergeben haben.

Was tun, wenn PHP CGI automatisch geschlossen wird?

Wenn wir einen manuell brechen, werden wir feststellen, dass es noch einen gibt, immer noch 5. xxfpm verwaltet PHP-CGI und verwaltet es in 5 PHP-CGI-Prozessen, um zu verhindern, dass der CGI-Prozess abstürzt und heruntergefahren wird. Beachten Sie außerdem, dass der Überwachungsport an der Nginx-Konfigurationsdatei ausgerichtet sein sollte.

Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP CGI automatisch geschlossen wird?. 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