Heim > Artikel > Backend-Entwicklung > Was tun, wenn PHP CGI automatisch geschlossen wird?
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.
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/
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:
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.
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!