Eсть Ошибка PHP5.3.3 это не позволит мне просматривать страницу php-fpm / status через Apache2. Есть ли способ получить доступ к этим данным вручную? Я не могу обновить коробку (Ubuntu 10.10, php5.3.4 не поддерживается).
Я пробовал подключиться с помощью техники здесь: http://inode.co.nz/testing-a-fastcgi-service, но не повезло.
Чтобы загрузить страницу / status, у вас должны быть установлены определенные переменные среды, а именно: SCRIPT_NAME
, SCRIPT_FILENAME
, QUERY_STRING
, и REQUEST_METHOD
. Вам не нужно DOCUMENT_ROOT
(даже для обычного запроса).
В правильном пуле (это не глобальная настройка) вашего набора конфигураций php-fpm (или раскомментируйте):
pm.status_path = /status
Затем запустите (заменив ПОРТ):
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
Примечание: результаты зависят от пула.
Протестировано в системе RHEL / CentOS 6 с PHP v5.3.9.
(Дополнительное упоминание для людей, использующих CentOS - пакет, который предоставляет cgi-fcgi
назван fcgi
и доступны в EPEL)
Кстати, того же можно добиться с помощью ping:
Устанавливать: ping.path = /ping
(конфигурация php-fpm)
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