Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从PHP状态页面获取一致的数据_Php_Fastcgi_Status - Fatal编程技术网

如何从PHP状态页面获取一致的数据

如何从PHP状态页面获取一致的数据,php,fastcgi,status,Php,Fastcgi,Status,设置——在bash、cent6和PHP7.2.34中。使用fcgi从池的PHP状态页面获取数据 $ sudo SCRIPT_NAME=/status SCRIPT_FILENAME=/status REQUEST_METHOD=GET QUERY_STRING="full&json" /usr/bin/cgi-fcgi -bind -connect /dev/shm/my-php.sock 这将返回JSON状态页面中的数据: { "pool"

设置——在bash、cent6和PHP7.2.34中。使用fcgi从池的PHP状态页面获取数据

$ sudo SCRIPT_NAME=/status SCRIPT_FILENAME=/status REQUEST_METHOD=GET QUERY_STRING="full&json" /usr/bin/cgi-fcgi -bind -connect /dev/shm/my-php.sock
这将返回JSON状态页面中的数据:

{
   "pool":"my",
   "process manager":"ondemand",
   "start time":1618235462,
   "start since":696688,
   "accepted conn":3382,
   "listen queue":0,
   "max listen queue":0,
   "listen queue len":0,
   "idle processes":0,
   "active processes":2,
   "total processes":2,
   "max active processes":4,
   "max children reached":0,
   "slow requests":0,
   "processes":[
      {
         "pid":2607,
         "state":"Running",
         "start time":1618239178,
         "start since":692972,
         "requests":3,
         "request duration":692946671295,
         "request method":"GET",
         "request uri":"redacted",
         "content length":0,
         "user":"-",
         "script":"redacted",
         "last request cpu":0.00,
         "last request memory":0
      },
      {
         "pid":2720,
         "state":"Running",
         "start time":1618239219,
         "start since":692931,
         "requests":2,
         "request duration":692920698981,
         "request method":"GET",
         "request uri":"redacted",
         "content length":0,
         "user":"-",
         "script":"redacted",
         "last request cpu":0.00,
         "last request memory":0
      },
      {
         "pid":22744,
         "state":"Running",
         "start time":1618932150,
         "start since":0,
         "requests":1,
         "request duration":869,
         "request method":"GET",
         "request uri":"/status?full&json",
         "content length":0,
         "user":"-",
         "script":"-",
         "last request cpu":0.00,
         "last request memory":0
      }
   ]
}
因此,对于活动流程,我要采样的数据--

等于2

问题是,如果没有活动进程,返回的数据是1(只有“请求uri”:“/status?full&json”)

我觉得这是一个bug,我可以为自己的目的编写相关程序,但如果有更好、更一致的方法来获取数据,那就更好了

"active processes":2,
"total processes":2,
{
   "pool":"other",
   "process manager":"ondemand",
   "start time":1618408996,
   "start since":524662,
   "accepted conn":490,
   "listen queue":0,
   "max listen queue":0,
   "listen queue len":0,
   "idle processes":0,
   "active processes":1,
   "total processes":1,
   "max active processes":1,
   "max children reached":0,
   "slow requests":0,
   "processes":[
      {
         "pid":26928,
         "state":"Running",
         "start time":1618933658,
         "start since":0,
         "requests":1,
         "request duration":840,
         "request method":"GET",
         "request uri":"/status?full&json",
         "content length":0,
         "user":"-",
         "script":"-",
         "last request cpu":0.00,
         "last request memory":0
      }
   ]
}