加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

手动访问PHP-FPM的/状态页面(绕过Apache)

发布时间:2020-12-13 14:01:18 所属栏目:PHP教程 来源:网络整理
导读:有一个 PHP5.3.3 bug不允许我通过Apache2查看php-fpm的/状态页面. 有没有办法手动访问这些数据?我无法升级该盒子(不支持Ubuntu 10.10,php5.3.4). 我尝试使用这里的技术连接:http://inode.co.nz/testing-a-fastcgi-service,但没有运气. 要加载/ status页面,
有一个 PHP5.3.3 bug不允许我通过Apache2查看php-fpm的/状态页面.
有没有办法手动访问这些数据?我无法升级该盒子(不支持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

然后运行(替换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的人提到的侧点 – 提供cgi-fcgi的软件包名为fcgi,可从EPEL获得)

顺便说一句,使用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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读