mod_php와 cgi PHP 스크립트의 차이점은 무엇입니까?mod_php와 cgi PHP 스크립트의 차이점은 무엇입니까?
mod_php 대신 간단한 PHP 스크립트를 사용하여 CGI로 실행하는 것이 더 나은 이유는 무엇입니까?
감사
mod_php와 cgi PHP 스크립트의 차이점은 무엇입니까?mod_php와 cgi PHP 스크립트의 차이점은 무엇입니까?
mod_php 대신 간단한 PHP 스크립트를 사용하여 CGI로 실행하는 것이 더 나은 이유는 무엇입니까?
감사
CGI를 사용 : PHP 프로세스가 아파치에 의해 시작, 그것은 PHP 코드를 해석하는 PHP 과정이다 -하지 아파치 자체합니다.
이론적으로 각 요청에 대해 PHP 프로세스가 별도로 생성되어야하므로 일이 느려집니다. Apache는 요청에 응답하기 위해 더 많은 작업을해야합니다.
은 아파치 모듈 (mod_php
, 또는 mod_php5
), PHP 인터프리터로 PHP를 사용하는 경우
(댓글에 @ AlReece45 지적뿐만 아니라,이 FastCGI를을 사용하여 더 나은 만들 수 있습니다) 아파치 프로세스 내부에서 일종의 ""입니다 : 외부 PHP 프로세스가 없습니다.
의미 어떤 :
일반적으로, 나는 mod_php
이 해결책이 말을 (빠르게) 아파치와 PHP 사이
무대 오른쪽에 FastCGI를 입력하십시오. FastCGI는 CGI의 장점을 가지고 있으며 확장 성이 훨씬 뛰어납니다. :) mod_php는로드 된 서버에서 죽음이 될 수 있습니다. – Xorlev
@Xorlev는로드 된 서버에 대해 nginx + phpfpm이라고 생각합니다.) –
PHP는 인체에 어떤 형태로든 죽음을 초래할 수 있습니다! ;-) –
일반 CGI는 요청시 각 요청마다 프로세스를 생성해야합니다.
mod_php는 매끄러운 nginx 또는 lighttpd 대신에 부풀린 아파치를 사용해야합니다. 게다가, 파스칼에 의해 언급 된 "아파치와 PHP 사이의 더 나은 의사 소통"은 아파치에 해를 끼칠 수있다. (PHP로 개발 한 사람은 해를 입는다. ;-)).
FastCGI를 사용하면 웹 서버에서 PHP를 분리 할 수 있습니다 (다른 호스트에서 실행할 수도 있음).
또한, php.net 그냥 당신이 PHP를 실행하는 mod_cgi
을 사용하고 있고 PHP 버전보다 오래된 PHP 5.3.12 또는 PHP 5.4.2 경우 소스 코드 공개가 가능하다 취약점을 오늘 발표했다. 업그레이드하거나 mod_rewrite
규칙을 적용하여
http://www.php.net/archive/2012.php#id2012-05-03-1
패치.
CGI의 오버 헤드를 대부분 제거한 PHP를 FastCGI를 사용하여 실행할 수도 있으며 스레드 된 MPM을 실행할 수 있습니다 (PHP는 스레드 된 MPM을 선호하지 않습니다) – Reece45
@ Reece45, MPM? ͏͏͏͏͏͏͏͏͏͏ – Pacerier
@Pacerier Apache 고유 한 번에 여러 요청을 처리하는 여러 가지 방법을 구현하는 모듈 (다중 처리 모듈)입니다. 자세한 내용은 http://httpd.apache.org/docs/2.4/mpm.html을 참조하십시오. – Reece45