PHP-FPM의 / status 페이지에 수동으로 액세스 (Apache 우회)


9

있습니다 PHP5.3.3 버그 아파치를 통해보기 PHP-FPM의 / 상태 페이지에 저를 허용하지 않습니다. 이 데이터에 수동으로 액세스 할 수있는 방법이 있습니까? 상자를 업그레이드 할 수 없습니다 (Ubuntu 10.10, php5.3.4는 지원되지 않음).

http://inode.co.nz/testing-a-fastcgi-service 기술을 사용하여 연결을 시도 했지만 운이 없습니다.

답변:


12

은 / 상태 페이지를로드하기 위해, 특정 환경 변수를 구체적으로 설정해야합니다 : SCRIPT_NAME, SCRIPT_FILENAME, QUERY_STRING,와 REQUEST_METHOD. 필요하지 않습니다 DOCUMENT_ROOT(일반 요청의 경우에도).

php-fpm 구성 세트의 올바른 풀 (전역 설정이 아님)에서 (또는 주석 해제) :

pm.status_path = /status

그런 다음 (PORT 교체)를 실행하십시오.

SCRIPT_NAME=/status \
SCRIPT_FILENAME=/status \
QUERY_STRING= \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

샘플 출력 :

X-Powered-By: PHP/5.3.9
Expires: Thu, 01 Jan 1970 00:00:00 GMT
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
Content-Type: text/plain

pool:                 web1
process manager:      dynamic
start time:           28/Jan/2012:20:49:44 -0500
start since:          5955
accepted conn:        41
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       1
active processes:     1
total processes:      2
max active processes: 1
max children reached: 0

참고 : 결과는 풀마다 다릅니다.

PHP v5.3.9가 설치된 RHEL / CentOS 6 시스템에서 테스트되었습니다.

(CentOS를 사용하는 사람들에 대한 언급 지점-제공되는 패키지 는 EPEL에서 cgi-fcgi이름이 지정 fcgi되고 제공됩니다)

따로, 핑으로도 같은 결과를 얻을 수 있습니다.

설정 : ping.path = /ping(php-fpm config)

SCRIPT_NAME=/ping\
SCRIPT_FILENAME=/ping\
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

또는 일반 PHP 파일의 경우 (전체 경로를 사용해야하며 QUERY_STRING은 선택 사항 임) :

SCRIPT_NAME=/test.php \
SCRIPT_FILENAME=/var/www/path/to/test.php \
QUERY_STRING= \
REQUEST_METHOD=GET \
cgi-fcgi -bind -connect 127.0.0.1:PORT

작동했습니다 !!! (REQUEST_METHOD 및 DOCUMENT_ROOT 및 (SCRIPT_NAME 또는 SCRIPT_FILENAME))의 모든 반복을 시도했습니다. 정말 감사합니다.
mikewaters
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.