Apache + PHP-FPM = 임의의 "스크립트 헤더 구문 분석 오류"+ 세그먼트 오류


8

proxy_fcgi를 사용하여 Apache 2.4에서 PHP-FPM을 설정했는데 모두 정상적으로 작동하지만 4-6 요청의 모든 항목은 Apache가 빈 페이지를 반환합니다. 이것은 내 기본 사이트 http://danielhe.com/ 에서 발생하지만 하위 도메인 가상 호스트에서는 발생하지 않습니다.

아파치 오류 로그 [client x] AH01070 : 스크립트 구문 분석 오류

그리고 때로는 Apache segfaults AH00052 : 자식 pid 9740 종료 신호 분할 오류 (11)

페이지를 몇 번 새로 고치면 "스크립트 헤더 구문 분석 오류"를 매우 쉽게 재현 할 수 있지만 "스크립트 헤더 구문 분석 오류"후에 세그먼트 오류가 임의로 발생합니다.

업데이트 세그 결함에 대한 수정 사항을 찾았으며 WSOD가 자체적으로 수정되었습니다. mod_deflate에 몇 가지 문제가 있지만 Apache 설명서 의이 구성으로 해결되었습니다.

SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpeg|jpg|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

2
A는 하나의 해결 같은이 질문 외모를 만들기 위해 허용 대답으로 자신의 질문에 대답하고 표시해야합니다
regilero

답변:


2

해결책은이 구성을 사용하는 것이 었습니다

SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpeg|jpg|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

mod_deflate에 문제가 있습니까? 어떤 참조? 매우 이상해 보인다 ...
GioMac

@GioMac : 잘 모르겠습니다. OP는 이것이 문제의 문제를 해결 한 것이라고 말합니다. 방금 대답에 넣었습니다. SO가 우리에게 그것을 보냈으며 원래 2012 년 3 월 9 일에 답변되었습니다.
user9517

0

위의 솔루션이 효과가 있음을 확인할 수 있지만 ProxyPassmatch 설정도 수정해야했습니다.

이전 설정

<IfModule proxy_module>
ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/home/YOURDOMAIN/public_html/$1
</IfModule>

새로운 구성-다른 재 작성 필터 및 위 코드

<IfModule proxy_module>
ProxyPassMatch ^(.*\.php)$ fcgi://127.0.0.1:9000/home/YOURDOMAIN/public_html/$1
</IfModule>

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
...code from above
</IfModule>

0

여기서 문제는 phpList의 응답이 전체 패키지를 채우지 않는다는 것입니다. 응답이 하나 이상의 버퍼를 채우지 않으면 php-fpm이 Apache와의 연결을 조기에 끊습니다. 이 문제를 해결하기 위해 일시적으로 mod_php로 전환하거나 임의로 생성 된 텍스트로 응답을 채울 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.