|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #60891 FPM status serving should be moved to the master process
Submitted: 2012-01-26 13:08 UTC Modified: 2013-02-18 00:35 UTC
From: erno dot kovacs at freemail dot hu Assigned: fat (profile)
Status: No Feedback Package: FPM related
PHP Version: 5.3.9 OS: Any
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
Solve the problem:
44 + 43 = ?
Subscribe to this entry?

 [2012-01-26 13:08 UTC] erno dot kovacs at freemail dot hu
When the server is overloaded, you cant query the FPM status page, however it should be its primary goal: being able to check whats going on. This way this cool feature is pointless.

Test script:
fpm conf:
pm = dynamic
pm.max_children = 1
pm.start_servers = 1
pm.min_spare_servers = 1
pm.max_spare_servers = 1

test script:

And while the only worker process is sleeping, send a query to the status page. It wont be served.

Expected result:
Status page.

Actual result:


bug60891-v1.patch (last revision 2012-05-28 23:08 UTC by

Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2012-01-26 14:57 UTC] ml at fatbsd dot com
for security reason and by design it's not possible to make the master process to 
listen to those requests.

The only possibility is to fork another process only to handle this. And this is 
quite a a big change. It's on my todo list but no ETA yet.

++ fat
 [2012-01-28 04:38 UTC]
-Status: Open +Status: Analyzed -Assigned To: +Assigned To: fat
 [2012-05-28 23:08 UTC]
The following patch has been added/updated:

Patch Name: bug60891-v1.patch
Revision:   1338246496
 [2012-05-28 23:27 UTC]
Here is the first revision of the patch (it needs some verifications and there should be some missing free(), but it works 
on my side). It can be applied on the last 5.3 snapshot (not sure it will applies correctly on older version/revision).

Here's what's new:
- new FPM configuration item for pool: pm.status_allow which is unset by default. Add the names of the other pool you want 
to access from this pool (use a comma (,) as a separator). If one of the element is the char '*', then all pool are 
available from this pool status page

- call the status page of this pool adding a pool=xxx in the query string and there it's supposed to work

Exemple: for having a dedicated pool which only respond to the /status page and permit to see all pools status : add the 
following pool to your php-fpm.conf

user = nobody ;use a low privilege user, nothing is needed here
group = nogroup
pm = ondemand
pm.max_children = 1 ;set a higher value if you need parallal requesting to the status page
pm.status_path = /status
pm.status_allow = * ; allow to see all pool status
chroot = /var/empty ; chroot to un empty directory for security reason
security.limit_extensions = .nonexistantextesionxxxxx ; limit to only one neverused extension

it'll only respond to the /status page (because of the pseudo random security.limit_extensions) and it's possible to see all 
pool status page:


Waiting to here from you on this.

++ fat
 [2012-05-28 23:27 UTC]
-Status: Analyzed +Status: Feedback
 [2012-08-23 11:17 UTC] jasper at nerdsweide dot nl
Sounds good! I'm looking forward to these features.

> ... and there should be some missing free()
This means there is a memory-leak right?
 [2012-12-19 17:01 UTC] aderumier at odiso dot com
any news about pm.status_allow = *   patch ?

I'm really looking for this, monitoring status in one page (integration with 


Alexandre Derumier
 [2013-02-18 00:35 UTC] php-bugs at lists dot php dot net
No feedback was provided. The bug is being suspended because
we assume that you are no longer experiencing the problem.
If this is not the case and you are able to provide the
information that was requested earlier, please do so and
change the status of the bug back to "Open". Thank you.
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Thu Sep 29 21:05:53 2022 UTC