有一个
PHP5.3.3 bug不允许我通过Apache2查看PHP-fpm的/状态页面.
有没有办法手动访问这些数据?我无法升级该盒子(不支持Ubuntu 10.10,PHP5.3.4).
有没有办法手动访问这些数据?我无法升级该盒子(不支持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