문제

PHP에서 자신만의 FastCGI 인터페이스를 어떻게 구축합니까?

나는 무엇과 비슷한 일을하고 싶습니다 그들은 Perl에서 하고 있어요, 그러나 PHP에서는.심지어 가능합니까?더 빠를까요?

(즉, 웹앱 프레임워크를 로드할 수 있기를 바랍니다. 한 번 그런 다음 FastCGI가 모든 요청에 ​​대해 제공하는 메서드를 호출하도록 하세요.따라서 "기본" PHP FastCGI 설정에서 발생하는 PHP 인터프리터의 보다 일반적인 사전 로드는 아닙니다.)

건배!

(편집하다:Mongrel과 RoR도 이런 일을 하고 있지 않나요?)

좋아, 이제 이상한 다이어그램을 만들었습니다 :)

alt text

도움이 되었습니까?

해결책

제가 착각했을 수도 있지만(늦었어요) 그냥 캐싱 같은 걸 하려고 하는 거 아닌가요?그럼에도 불구하고 FastCGI 인터페이스는 상당히 잘 정의된 것 같습니다.따라서 원하는 것은 무엇이든 매우 쉽게 수행할 수 있어야 합니다.

다른 팁

당신은 할 수 있습니다 ~ 아니다~에 PHP ~을 위한 PHP, C로 할 수 있습니다 cgi-sapi 하지만 당신은 아마도 사용하고 싶을 것입니다 APC 대신에.

PHP에 포함시키겠다고 정말로 결정했다면 이론상으로는 다음과 같이 할 수 있습니다. C에서 PHP 모듈 만들기, 그리고 다음을 위한 브리지를 형성합니다. C의 fastCGI.

그 후에는 독립형 프로그램으로 fastCGI에 액세스하는 PHP 스크립트를 실행하고 루프를 실행하고 요청을 수락할 것입니다.PHP를 "영구 가상 머신"(더 나은 용어를 찾을 수 없음)으로 사용하는 경우 fastCGI를 통해 통신합니다.

나는 여러 종속성 라이브러리 등을 다시 로드하는 것이 매우 쉽게 간과되는 성능 저하라는 데 동의합니다.그러나 PHP 개발 주기를 단순화하려는 의도적인 설계일 수도 있습니다.지속적인 환경에서 경험이 없는 사용자가 만들 전역 변수 혼란을 생각해 보십시오.대부분의 fastCGI 설정은 로드에 따라 여러 복사본/스레드를 초기화한다는 사실을 고려하세요.작은 벌레 캔이에요.각 요청에 대해 빈 새 슬레이트를 시작하면 작업이 단순화됩니다.

하지만, 솔직히...성능에 대한 우려가 있다면 fastCGI C++/node.js를 대안으로 고려해 볼 수도 있습니다....JavaScript/PHP/C++용으로 개발한 귀하의 아이디어는 확실히 가능합니다...하지만 실제로는 비용 대비 이점이 중요합니다...노력할 가치가 있나요? 등

PS:힙합을 통해 PHP 사이트를 컴파일하는 것을 고려할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top