>  기사  >  백엔드 개발  >  PHP CGI가 자동으로 닫히면 어떻게 해야 할까요?

PHP CGI가 자동으로 닫히면 어떻게 해야 할까요?

藏色散人
藏色散人원래의
2020-09-04 10:02:163646검색

PHP CGI 자동 종료에 대한 해결 방법: 먼저 "pthreadgc2.dll" 등록을 완료한 다음 xxfpm 디렉터리를 nginx에 복사한 다음 마지막으로 Windows 환경 변수를 설정합니다.

PHP CGI가 자동으로 닫히면 어떻게 해야 할까요?

권장: "PHP 비디오 튜토리얼"

Windows의 php-cgi 프로세스가 자동으로 닫히는 문제에 대한 솔루션

php-cgi에는 Linux에서 fpm 관리 기능이 있지만 Apache는 cgi를 사용하지 않습니다. 모드이므로 Windows에서 nginx를 사용할 때 활성화된 php-cgi 모니터링이 매우 불안정하고 종종 충돌하고 종료되는 현상이 갑자기 나타났습니다. 이제 이 문제가 해결되었습니다. 참고로 win32비트 시스템에서는 해결이 되지만 서버에서도 64비트 시스템이 실행되고 있지만 환경은 모두 32비트입니다.

xxfpm이라는 FastCGI 프로세스 관리자 사용: xxfpm

다운로드 후 xxfpm.exe를 실행합니다. pthreadgc2.dll이 없다는 오류가 발생하면 pthreads-win32를 다운로드해야 합니다: http://sourceware.org/pthreads- win32/

PHP CGI가 자동으로 닫히면 어떻게 해야 할까요?

이 파일을 C:/Windows/System32에 복사합니다(시스템이 64비트인 경우 32비트 dll 파일을 C:WindowsSysWOW64 디렉터리에 복사하세요).

그런 다음 "시작-실행"을 엽니다. -enter regsvr32 pthreadgc2 .dll", Enter 키를 누르고 오류가 보고되면 다음 방법을 사용하십시오.

새 파일 "Registration.bat"을 만듭니다. 내용:

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

Registration.bat를 두 번 클릭하면 pthreadgc2.dll 등록이 자동으로 완료됩니다(64비트 시스템에서 32비트 dll 파일을 설치하는 경우 system32(SysWOW64 포함). 완료되면 이 파일을 삭제할 수 있습니다.

다음으로 다운로드한 xxfpm 디렉터리를 nginx에 복사합니다.

PHP CGI가 자동으로 닫히면 어떻게 해야 할까요?

nginx 설치 시 RunHiddenConsole 시작 및 종료 파일 수정을 용이하게 하기 위해(Windows에서 Nginx 환경을 수동으로 설정하고 이와 같이 설치하는 경우) :

start_nginx.bat를 다음으로 수정:

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

REM 각 프로세스에서 처리하는 최대 요청 수 또는 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

stop_nginx.bat를 다음으로 수정:

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

이제 nginx를 시작하면 동시에 5개를 엽니다. php-cgi 프로세스입니다. 매개변수 -n을 5에 전달했기 때문입니다.

PHP CGI가 자동으로 닫히면 어떻게 해야 할까요?

하나를 수동으로 깨뜨려도 여전히 5개가 있다는 것을 알게 됩니다. xxfpm은 php-cgi를 관리하고 5개의 php-cgi 프로세스에서 이를 유지하여 cgi 프로세스가 충돌하고 종료되는 것을 방지합니다. 주목해야 할 또 다른 사항은 수신 대기 포트가 nginx 구성 파일과 정렬되어야 한다는 것입니다.

위 내용은 PHP CGI가 자동으로 닫히면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.