Acesse a página de status / PHP-FPM manualmente (ignore o Apache)

9

Existe um bug do PHP5.3.3 que não me permite visualizar a página de status / php-fpm via Apache2. Existe uma maneira de acessar manualmente esses dados? Não consigo atualizar a caixa (Ubuntu 10.10, php5.3.4 não suportado).

Eu tentei conectar usando a técnica aqui: http://inode.co.nz/testing-a-fastcgi-service , mas sem sorte.

mikewaters
fonte

Respostas:

12

Para carregar a página de status /, você deve ter certas variáveis de ambiente definido, especificamente: SCRIPT_NAME, SCRIPT_FILENAME, QUERY_STRING, e REQUEST_METHOD. Você não precisa DOCUMENT_ROOT(mesmo para uma solicitação normal).

Sob o pool correto (não é uma configuração global) do seu conjunto de configurações php-fpm (ou descomente):

pm.status_path = /status

Em seguida, execute (substituindo PORT):

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

Saída de amostra:

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

Nota: os resultados são específicos do pool.

Testado em um sistema RHEL / CentOS 6 com PHP v5.3.9.

(Ponto de referência secundário para pessoas que usam o CentOS - o pacote que fornece cgi-fcgié nomeado fcgie está disponível no EPEL)

Como um aparte, o mesmo pode ser alcançado com o ping:

Conjunto: ping.path = /ping(configuração php-fpm)

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

Ou para um arquivo PHP comum (você precisa usar o caminho completo, QUERY_STRING é opcional):

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
cyberx86
fonte
FUNCIONOU!!! Eu tentei todas as iterações de (REQUEST_METHOD e DOCUMENT_ROOT e (SCRIPT_NAME ou SCRIPT_FILENAME)). Obrigado incrivelmente.
Mikewaters