有一个PHP5.3.3错误,不允许我通过Apache2查看php-fpm的/ status页面。有没有办法手动访问此数据?我无法升级该盒子(不支持Ubuntu 10.10,php5.3.4)。
我尝试过使用此处的技术进行连接:http : //inode.co.nz/testing-a-fastcgi-service,但是没有运气。
有一个PHP5.3.3错误,不允许我通过Apache2查看php-fpm的/ status页面。有没有办法手动访问此数据?我无法升级该盒子(不支持Ubuntu 10.10,php5.3.4)。
我尝试过使用此处的技术进行连接:http : //inode.co.nz/testing-a-fastcgi-service,但是没有运气。
Answers:
为了加载/状态页面,你必须具备一定的环境变量设置,具体为: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可以实现相同的目的:
设置: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