Bug #64539 [Com]: FPM status page: JSON parse error

From: Date: Sat, 29 May 2021 11:26:10 +0000
Subject: Bug #64539 [Com]: FPM status page: JSON parse error
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-234087@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=64539&edit=1

 ID:                 64539
 Comment by:         michiel at hazelhof dot nl
 Reported by:        benpro at benpro dot fr
 Summary:            FPM status page: JSON parse error
 Status:             Open
 Type:               Bug
 Package:            FPM related
 Operating System:   Debian 6.0.6
 PHP Version:        5.3.23
 Block user comment: N
 Private report:     N

 New Comment:

#66119 seems to be a duplicate but with a clearer description.

Because the output of status?json isn't properly encoded all kinds of status monitoring tools
break when encountering unescaped characters.


Previous Comments:
------------------------------------------------------------------------
[2014-12-15 09:11:06] terry dot lee dot core at gmail dot com

Hi, could you explain what is the element "last request cpu": 0.00 unit. i have the data
with the last request cpu:234, means use the cpu 234%?

------------------------------------------------------------------------
[2013-03-31 11:58:25] laruence@php.net

as the html says, "This is sample real-time status page for FPM. You can change it 
to better feet your needs."

maybe you need escape the backslash in request uri by yourself

------------------------------------------------------------------------
[2013-03-28 13:03:52] benpro at benpro dot fr

Description:
------------
Trying to set up a FPM status page using this one:
http://git.php.net/?p=php-src.git;a=blob;f=sapi/fpm/status.html.in;h=86492d73df0710d5dd0a0550292b3b48bbbfc302;hb=HEAD

I got "Error while parsing json: 'SyntaxError: JSON.parse: bad escaped character':

{
    "pool": "www",
    "process manager": "dynamic",
    "start time": 1364474757,
    "start since": 623,
    "accepted conn": 1998,
    "listen queue": 0,
    "max listen queue": 0,
    "listen queue len": 0,
    "idle processes": 135,
    "active processes": 2,
    "total processes": 137,
    "max active processes": 9,
    "max children reached": 0,
    "processes": [{
            "pid": 32124,
            "state": "Idle",
            "start time": 1364474757,
            "start since": 623,
            "requests": 15,
            "request duration": 2262,
            "request method": "GET",
            "request uri": "/hidden/timthumb.php?src=http://hidden.fr/wp-content/uploads/2012/10/vitrolles-640x426.jpg&q=100&w=220&h=160&text=Pas+d\'image+pour+le+moment",
<<< Here is the bug?
            "content length": 0,
            "user": "-",
            "script": "/hidden/timthumb.php",
            "last request cpu": 0.00,
            "last request memory": 1310720
        }, OTHER....]
}

Sound like the JSON output of the status using "?json" in the query string is badly
escaped?

Expected result:
----------------
Good parsing.

Actual result:
--------------
Parse error.


------------------------------------------------------------------------



--
Edit this bug report at https://bugs.php.net/bug.php?id=64539&edit=1


Thread (7 messages)

« previous php.bugs (#234087) next »