httpd-bugs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject DO NOT REPLY [Bug 48110] New: Doc of mod_fcgid: "PHP child process management" appears incorrect
Date Tue, 03 Nov 2009 13:41:31 GMT

           Summary: Doc of mod_fcgid: "PHP child process management"
                    appears incorrect
           Product: Apache httpd-2
           Version: 2.3-HEAD
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Documentation

In the documentation page of mod_fcgid, there is a paragraph concerning "PHP
child process management":
PHP child process management (PHP_FCGI_CHILDREN) should always be disabled with
mod_fcgid, which will only route requests to application processes it has
spawned.  Any child processes created by PHP will be unused and may not be
terminated properly.  By default, and with the environment variable setting
PHP_FCGI_CHILDREN=0, PHP child process management is disabled.
This appears incorrect according to my long experience with mod_fastcgi and
recent tests with mod_fcgid. With PHP_FCGI_CHILDREN > 0, the PHP process
spawned by the module does no actual work but only spawns (and, if necessary,
respawns) children that do the processing of the data stream passed to them by
the parent PHP. It is easily seen (e.g., using "top") that practically only the
child PHP processes consume CPU time -- that they "will be unused" is
completely wrong. mod_fcgid does not need any knowledge about the child
processes. Of course, one should then configure mod_fcgid so that (for one
class) there is exactly one parent PHP process, which should run permanently,
and leave the distribution of work to this process rather than to mod_fcgid.
We have such a configuration running on our webserver (with mod_fastcgi, but
also tested with mod_fcgid) for a long time. Especially, using the APC
extension of PHP, this allows the common usage of the shared-memory code cache
of APC by the spawned PHP processes.

Configure bugmail:
------- You are receiving this mail because: -------
You are the assignee for the bug.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message