| <?xml version="1.0"?> |
| <!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd"> |
| <?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <modulesynopsis metafile="mod_fcgid.xml.meta"> |
| |
| <name>mod_fcgid</name> |
| <description>Provides for execution of FastCGI applications</description> |
| <status>External</status> <!-- For now... --> |
| <sourcefile>mod_fcgid.c</sourcefile> |
| <identifier>fcgid_module</identifier> |
| <compatibility>Apache 2.0 and higher</compatibility> |
| |
| <summary> |
| <p>Any program assigned to the handler <code>fcgid-script</code> is processed |
| using the FastCGI protocol; <module>mod_fcgid</module> starts a sufficient |
| number instances of the program to handle concurrent requests, and these |
| programs remain running to handle further incoming requests. This is |
| significantly faster than using the default <module>mod_cgi</module> or |
| <module>mod_cgid</module> modules to launch the program upon each request. |
| However, the programs invoked by <module>mod_fcgid</module> continue to |
| consume resources, so the administrator must weigh the impact of invoking |
| a particular program once per request against the resources required to |
| leave a sufficient number of instances running continuously.</p> |
| |
| <p>The pool of fcgid-invoked programs is shared between all httpd workers. |
| Configuration directives below let the administrator tune the number of |
| instances of the program that will run concurrently.</p> |
| |
| <p>Specific executables are assigned this handler either by having a name |
| containing an extension defined by the |
| <directive module="mod_mime">AddHandler</directive> directive, or with an |
| override using the <directive module="mod_mime">SetHandler</directive> |
| directive (e.g., for all files in a specific directory such as cgi-bin).</p> |
| |
| <p>Some changes have been made in the ASF release of mod_fcgid which |
| can affect existing configurations. All documentation refers to new |
| names for the directives. (The old names still work but are now |
| deprecated.) Please read the <a href="#upgrade">Upgrade Notes</a> for |
| details.</p> |
| |
| <p>For an introduction to using CGI scripts with Apache, see |
| the generic tutorial on <a href="../howto/cgi.html">Dynamic Content |
| With CGI</a>.</p> |
| |
| </summary> |
| |
| <!-- References to other documents or directives --> |
| <seealso><a href="../howto/cgi.html">Dynamic Content With CGI</a></seealso> |
| <seealso><module>mod_cgi</module></seealso> |
| <seealso><module>mod_cgid</module></seealso> |
| |
| <section id="upgrade"> |
| <title>Upgrade Notes</title> |
| <p>The following changes have been made in the ASF release of mod_fcgid |
| and should be considered when upgrading from the original version by |
| Ryan Pan (Pan Qingfeng).</p> |
| <ul> |
| <li>All directives have been renamed in order to use a common prefix "Fcgid". |
| Underscores in directive names have been eliminated in favor of |
| CamelCase. The old directive names will still work but are deprecated. |
| To fix your configuration you can use the sed script build/fixconf.sed. |
| The following table contains old and new directive names: |
| <table border="1" style="zebra"> |
| <tr><th>Old Name</th><th>New Name</th></tr> |
| <tr> |
| <td><directive>BusyScanInterval</directive></td> |
| <td><directive module="mod_fcgid">FcgidBusyScanInterval</directive></td> |
| </tr> |
| <tr> |
| <td><directive>BusyTimeout</directive></td> |
| <td><directive module="mod_fcgid">FcgidBusyTimeout</directive></td> |
| </tr> |
| <tr> |
| <td><directive>DefaultInitEnv</directive></td> |
| <td><directive module="mod_fcgid">FcgidInitialEnv</directive></td> |
| </tr> |
| <tr> |
| <td><directive>DefaultMaxClassProcessCount</directive></td> |
| <td><directive module="mod_fcgid">FcgidMaxProcessesPerClass</directive></td> |
| </tr> |
| <tr> |
| <td><directive>DefaultMinClassProcessCount</directive></td> |
| <td><directive module="mod_fcgid">FcgidMinProcessesPerClass</directive></td> |
| </tr> |
| <tr> |
| <td><directive>ErrorScanInterval</directive></td> |
| <td><directive module="mod_fcgid">FcgidErrorScanInterval</directive></td> |
| </tr> |
| <tr> |
| <td><directive>FastCgiAccessChecker</directive></td> |
| <td><directive module="mod_fcgid">FcgidAccessChecker</directive></td> |
| </tr> |
| <tr> |
| <td><directive>FastCgiAccessCheckerAuthoritative</directive></td> |
| <td><directive module="mod_fcgid">FcgidAccessCheckerAuthoritative</directive></td> |
| </tr> |
| <tr> |
| <td><directive>FastCgiAuthenticator</directive></td> |
| <td><directive module="mod_fcgid">FcgidAuthenticator</directive></td> |
| </tr> |
| <tr> |
| <td><directive>FastCgiAuthenticatorAuthoritative</directive></td> |
| <td><directive module="mod_fcgid">FcgidAuthenticatorAuthoritative</directive></td> |
| </tr> |
| <tr> |
| <td><directive>FastCgiAuthorizer</directive></td> |
| <td><directive module="mod_fcgid">FcgidAuthorizer</directive></td> |
| </tr> |
| <tr> |
| <td><directive>FastCgiAuthorizerAuthoritative</directive></td> |
| <td><directive module="mod_fcgid">FcgidAuthorizerAuthoritative</directive></td> |
| </tr> |
| <tr> |
| <td><directive>FCGIWrapper</directive></td> |
| <td><directive module="mod_fcgid">FcgidWrapper</directive></td> |
| </tr> |
| <tr> |
| <td><directive>IdleScanInterval</directive></td> |
| <td><directive module="mod_fcgid">FcgidIdleScanInterval</directive></td> |
| </tr> |
| <tr> |
| <td><directive>IdleTimeout</directive></td> |
| <td><directive module="mod_fcgid">FcgidIdleTimeout</directive></td> |
| </tr> |
| <tr> |
| <td><directive>IPCCommTimeout</directive></td> |
| <td><directive module="mod_fcgid">FcgidIOTimeout</directive></td> |
| </tr> |
| <tr> |
| <td><directive>IPCConnectTimeout</directive></td> |
| <td><directive module="mod_fcgid">FcgidConnectTimeout</directive></td> |
| </tr> |
| <tr> |
| <td><directive>MaxProcessCount</directive></td> |
| <td><directive module="mod_fcgid">FcgidMaxProcesses</directive></td> |
| </tr> |
| <tr> |
| <td><directive>MaxRequestInMem</directive></td> |
| <td><directive module="mod_fcgid">FcgidMaxRequestInMem</directive></td> |
| </tr> |
| <tr> |
| <td><directive>MaxRequestLen</directive></td> |
| <td><directive module="mod_fcgid">FcgidMaxRequestLen</directive></td> |
| </tr> |
| <tr> |
| <td><directive>MaxRequestsPerProcess</directive></td> |
| <td><directive module="mod_fcgid">FcgidMaxRequestsPerProcess</directive></td> |
| </tr> |
| <tr> |
| <td><directive>OutputBufferSize</directive></td> |
| <td><directive module="mod_fcgid">FcgidOutputBufferSize</directive></td> |
| </tr> |
| <tr> |
| <td><directive>PassHeader</directive></td> |
| <td><directive module="mod_fcgid">FcgidPassHeader</directive></td> |
| </tr> |
| <tr> |
| <td><directive>PHP_Fix_Pathinfo_Enable</directive></td> |
| <td><directive module="mod_fcgid">FcgidFixPathinfo</directive></td> |
| </tr> |
| <tr> |
| <td><directive>ProcessLifeTime</directive></td> |
| <td><directive module="mod_fcgid">FcgidProcessLifeTime</directive></td> |
| </tr> |
| <tr> |
| <td><directive>SharememPath</directive></td> |
| <td><directive module="mod_fcgid">FcgidProcessTableFile</directive></td> |
| </tr> |
| <tr> |
| <td><directive>SocketPath</directive></td> |
| <td><directive module="mod_fcgid">FcgidIPCDir</directive></td> |
| </tr> |
| <tr> |
| <td><directive>SpawnScore</directive></td> |
| <td><directive module="mod_fcgid">FcgidSpawnScore</directive></td> |
| </tr> |
| <tr> |
| <td><directive>SpawnScoreUpLimit</directive></td> |
| <td><directive module="mod_fcgid">FcgidSpawnScoreUpLimit</directive></td> |
| </tr> |
| <tr> |
| <td><directive>TerminationScore</directive></td> |
| <td><directive module="mod_fcgid">FcgidTerminationScore</directive></td> |
| </tr> |
| <tr> |
| <td><directive>TimeScore</directive></td> |
| <td><directive module="mod_fcgid">FcgidTimeScore</directive></td> |
| </tr> |
| <tr> |
| <td><directive>ZombieScanInterval</directive></td> |
| <td><directive module="mod_fcgid">FcgidZombieScanInterval</directive></td> |
| </tr> |
| </table> |
| </li> |
| </ul> |
| |
| </section> |
| |
| <section id="examples"> |
| <title>Examples</title> |
| |
| <note type="hint"><title>Note</title> |
| <p>The examples assume that mod_fcgid and other necessary |
| modules are loaded into the server already, either built-in or |
| via the <directive module="mod_so">LoadModule</directive> |
| directive.</p> |
| |
| <p>Additionally, the example configurations provide full access |
| to the applications using access control directives which work |
| with Apache 2.0 and 2.2. These directives are not appropriate |
| for all environments, and they do not work for development |
| levels of Apache HTTP Server (Subversion trunk).</p> |
| </note> |
| |
| <p>The first example is a very simple Perl FastCGI application, |
| and its configuration directives. This is typical for FastCGI |
| applications which require no special configuration.</p> |
| |
| <example><title>Perl FastCGI application - /usr/local/apache/fcgi-bin/foo.pl</title> |
| #!/usr/bin/perl<br /> |
| use CGI::Fast;<br /> |
| <br /> |
| while (my $q = CGI::Fast->new) {<br /> |
| <indent> |
| print("Content-Type: text/plain\n\n");<br /> |
| foreach $var (sort(keys(%ENV))) {<br /> |
| <indent> |
| $val = $ENV{$var};<br /> |
| $val =~ s|\n|\\n|g;<br /> |
| $val =~ s|"|\\"|g;<br /> |
| print "${var}=\"${val}\"\n";<br /> |
| </indent> |
| }<br /> |
| </indent> |
| }<br /> |
| </example> |
| |
| <example><title>Configuration directives</title> |
| <Directory /usr/local/apache/fcgi-bin/><br /> |
| <indent> |
| SetHandler fcgid-script<br /> |
| Options +ExecCGI<br /> |
| <br /> |
| # Customize the next two directives for your requirements.<br /> |
| Order allow,deny<br /> |
| Allow from all<br /> |
| </indent> |
| </Directory><br /> |
| </example> |
| |
| <p>PHP applications are usually configured using the |
| <directive module="mod_fcgid">FcgidWrapper</directive> directive |
| and a corresponding wrapper script. The wrapper script can be |
| an appropriate place to define any environment variables required |
| by the application, such as <code>PHP_FCGI_MAX_REQUESTS</code> |
| or anything else. (Environment variables can also be set with |
| <directive module="mod_fcgid">FcgidInitialEnv</directive>, |
| but they then apply to all applications.)</p> |
| |
| <p>Here is an example that uses a wrapper script to invoke PHP:</p> |
| |
| <example><title>PHP application - /usr/local/phpapp/phpinfo.php</title> |
| <?php<br /> |
| <indent> |
| phpinfo();<br /> |
| </indent> |
| ?><br /> |
| </example> |
| |
| <example><title>Configuration directives</title> |
| # FcgidMaxRequestsPerProcess should be <= PHP_FCGI_MAX_REQUESTS<br /> |
| # The example PHP wrapper script overrides the default PHP setting.<br /> |
| FcgidMaxRequestsPerProcess 10000<br /> |
| <br /> |
| # Uncomment the following line if cgi.fix_pathinfo is set to 1 in<br /> |
| # php.ini:<br /> |
| # FcgidFixPathinfo 1<br /> |
| <br /> |
| Alias /phpapp/ /usr/local/phpapp/<br /> |
| <Location /phpapp/><br /> |
| <indent> |
| AddHandler fcgid-script .php<br /> |
| Options +ExecCGI<br /> |
| FcgidWrapper /usr/local/bin/php-wrapper .php<br /> |
| <br /> |
| # Customize the next two directives for your requirements.<br /> |
| Order allow,deny<br /> |
| Allow from all<br /> |
| </indent> |
| </Location><br /> |
| </example> |
| |
| <example><title>PHP wrapper script - /usr/local/bin/php-wrapper</title> |
| #!/bin/sh<br /> |
| # Set desired PHP_FCGI_* environment variables.<br /> |
| # Example:<br /> |
| # PHP FastCGI processes exit after 500 requests by default.<br /> |
| PHP_FCGI_MAX_REQUESTS=10000<br /> |
| export PHP_FCGI_MAX_REQUESTS<br /> |
| <br /> |
| # Replace with the path to your FastCGI-enabled PHP executable<br /> |
| exec /usr/local/bin/php-cgi<br /> |
| </example> |
| |
| <note type="hint"><title>Special PHP considerations</title> |
| <p>By default, PHP FastCGI processes exit after handling 500 |
| requests, and they may exit after this module has already |
| connected to the application and sent the next request. When that |
| occurs, an error will be logged and <code>500 Internal Server |
| Error</code> will be returned to the client. This PHP behavior |
| can be disabled by setting <code>PHP_FCGI_MAX_REQUESTS</code> to |
| 0, but that can be a problem if the PHP application leaks |
| resources. Alternatively, <code>PHP_FCGI_MAX_REQUESTS</code> can |
| be set to a much higher value than the default to reduce the |
| frequency of this problem. |
| <directive module="mod_fcgid">FcgidMaxRequestsPerProcess</directive> |
| can be set to a value less than or equal to |
| <code>PHP_FCGI_MAX_REQUESTS</code> to resolve the problem.</p> |
| |
| <p>PHP child process management (<code>PHP_FCGI_CHILDREN</code>) |
| should always be disabled with mod_fcgid, which will only route |
| one request at a time to application processes it has spawned; |
| thus, any child processes created by PHP will not be used |
| effectively. (Additionally, the PHP child processes may not be |
| terminated properly.) By default, and with the environment |
| variable setting <code>PHP_FCGI_CHILDREN=0</code>, PHP child |
| process management is disabled.</p> |
| |
| <p>The popular APC opcode cache for PHP cannot share a cache |
| between PHP FastCGI processes unless PHP manages the child |
| processes. Thus, the effectiveness of the cache is limited with |
| mod_fcgid; concurrent PHP requests will use different opcode |
| caches.</p> |
| </note> |
| |
| </section> |
| |
| <section id="process-mgmt"> |
| <title>Process Management</title> |
| |
| <p>mod_fcgid has several types of controls which affect the creation |
| of additional application processes:</p> |
| |
| <table border="1" style="zebra"> |
| <tr><th>Type of control</th><th>Directive</th></tr> |
| <tr> |
| <td>global limit on number of processes</td> |
| <td><directive module="mod_fcgid">FcgidMaxProcesses</directive></td> |
| </tr> |
| <tr> |
| <td>limit on number of processes per application</td> |
| <td><directive module="mod_fcgid">FcgidMaxProcessesPerClass</directive></td> |
| </tr> |
| <tr> |
| <td>limit on rate of spawning new application processes</td> |
| <td><directive module="mod_fcgid">FcgidSpawnScoreUpLimit</directive> and |
| other score-related directives</td> |
| </tr> |
| </table> |
| |
| <p>mod_fcgid has several types of controls which affect the termination |
| of existing application processes:</p> |
| |
| <table border="1" style="zebra"> |
| <tr><th>Type of control</th><th>Directive</th></tr> |
| <tr> |
| <td>termination after an idle period</td> |
| <td><directive module="mod_fcgid">FcgidIdleTimeout</directive></td> |
| </tr> |
| <tr> |
| <td>termination after it handles a certain number of requests</td> |
| <td><directive module="mod_fcgid">FcgidMaxRequestsPerProcess</directive></td> |
| </tr> |
| <tr> |
| <td>termination after a certain lifetime</td> |
| <td><directive module="mod_fcgid">FcgidProcessLifetime</directive></td> |
| </tr> |
| </table> |
| |
| <p>Several of the directives control processing for a <em>process |
| class</em>. A process class is the set of processes which were started |
| with the same executable file and share certain other characteristics such |
| as virtual host and identity. Two commands which are links to or otherwise |
| refer to the same executable file share the same process class.</p> |
| |
| <note type="hint"><title>Note</title> |
| <p>Certain settings or other concepts that depend on the virtual host, |
| such as <directive module="mod_fcgid">FcgidInitialEnv</directive> |
| or process classes, distinguish between virtual hosts only if they |
| have distinct server names. (See the <directive>ServerName</directive> |
| documentation for more information.) In the case of |
| <directive module="mod_fcgid">FcgidInitialEnv</directive>, if two |
| virtual hosts have the same server name but different environments as |
| defined by |
| <directive module="mod_fcgid">FcgidInitialEnv</directive>, the |
| environment used for a particular request will be that defined for the |
| virtual host of the request that caused the FastCGI process to be |
| started.</p> |
| </note> |
| |
| <p>Information about each process will be displayed in the |
| <module>mod_status</module> server-status page.</p> |
| </section> |
| |
| <directivesynopsis> |
| <name>FcgidAccessChecker</name> |
| <description>full path to FastCGI access checker</description> |
| <syntax>FcgidAccessChecker <em>command</em></syntax> |
| <default>none</default> |
| <contextlist><context>directory</context> <context>.htaccess</context></contextlist> |
| <override>FileInfo</override> |
| <usage> |
| <p>Access checking or, more formally, access control, is a procedure |
| which verifies that the client is allowed to access a resource, using |
| some mechanism other than authentication and authorization.</p> |
| |
| <p>Key environment variables passed to the application for access |
| checking are:</p> |
| |
| <dl> |
| <dt><code>FCGI_APACHE_ROLE</code></dt> |
| <dd>set to <code>ACCESS_CHECKER</code>; by checking the current role, |
| the same FastCGI application can handle multiple stages of request |
| processing</dd> |
| </dl> |
| |
| <p>The application must output a <code>Status</code> line to indicate |
| the result of the check.</p> |
| |
| <note type="warning"><title>Warning</title> |
| <p>Before 2.3.6, only one FastCGI application of any type (AAA or handler) |
| can be used for a particular request URI. Otherwise, the wrong FastCGI |
| application may be invoked for one or more phases of request processing.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidAccessCheckerAuthoritative</name> |
| <description>Set to 'off' to allow access control to be passed along to lower modules upon failure</description> |
| <syntax>FcgidAccessCheckerAuthoritative <em>On|Off</em></syntax> |
| <default>FcgidAccessCheckerAuthoritative On</default> |
| <contextlist><context>directory</context> <context>.htaccess</context></contextlist> |
| <override>FileInfo</override> |
| <usage> |
| <p>This directive controls whether or not other access checkers |
| are allowed to run when this module has an access checker configured |
| and it fails a request. If this directive is <code>On</code> (default) |
| and a FastCGI access checker returns a failure status, a failure is |
| returned to the client without giving other access checkers a chance to |
| allow access. If this directive is <code>Off</code>, other access |
| checkers will be called.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidAuthenticator</name> |
| <description>full path to FastCGI authenticator</description> |
| <syntax>FcgidAuthenticator <em>command</em></syntax> |
| <default>none</default> |
| <contextlist><context>directory</context> <context>.htaccess</context></contextlist> |
| <override>FileInfo</override> |
| <usage> |
| <p>Authentication is the procedure which verifies that the user is |
| who they claim they are. This directive specifies the full path to |
| a FastCGI application which will handle authentication for a particular |
| context, such as a directory.</p> |
| |
| <p>Key environment variables passed to the application on authentication |
| are:</p> |
| |
| <dl> |
| <dt><code>REMOTE_USER</code></dt> |
| <dd>set to the user id of the client</dd> |
| |
| <dt><code>REMOTE_PASSWD</code></dt> |
| <dd>set to the plain text password provided by the client</dd> |
| |
| <dt><code>FCGI_APACHE_ROLE</code></dt> |
| <dd>set to <code>AUTHENTICATOR</code>; by checking the current role, |
| the same FastCGI application can handle multiple stages of request |
| processing</dd> |
| </dl> |
| |
| <p>The application must output a <code>Status</code> line to indicate |
| the result of authentication.</p> |
| |
| <note type="warning"><title>Warning</title> |
| <p>Before 2.3.6, only one FastCGI application of any type (AAA or handler) |
| can be used for a particular request URI. Otherwise, the wrong FastCGI |
| application may be invoked for one or more phases of request processing.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidAuthenticatorAuthoritative</name> |
| <description>Set to 'off' to allow authentication to be passed along to lower modules upon failure</description> |
| <syntax>FcgidAuthenticatorAuthoritative <em>On|Off</em></syntax> |
| <default>FcgidAuthenticatorAuthoritative On</default> |
| <contextlist><context>directory</context> <context>.htaccess</context></contextlist> |
| <override>FileInfo</override> |
| <usage> |
| <p>This directive controls whether or not other authenticators |
| are allowed to run when this module has an authenticator configured |
| and it fails a request. If this directive is <code>On</code> (default) |
| and a FastCGI authenticator returns a failure status, a failure is |
| returned to the client without giving other authenticators a chance to |
| validate the client identity. If this directive is <code>Off</code>, |
| other authenticators will be called.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidAuthorizer</name> |
| <description>full path to FastCGI authorizer</description> |
| <syntax>FcgidAuthorizer <em>command</em></syntax> |
| <default>none</default> |
| <contextlist><context>directory</context> <context>.htaccess</context></contextlist> |
| <override>FileInfo</override> |
| <usage> |
| <p>Authorization is the procedure which verifies that the user is |
| allowed to access a particular resource. This directive specifies |
| the full path to a FastCGI application which will handle authorization |
| for a particular context, such as a directory.</p> |
| |
| <p>Key environment variables passed to the application on authorization |
| are:</p> |
| |
| <dl> |
| <dt><code>REMOTE_USER</code></dt> |
| <dd>set to the user id of the client, which has already been |
| authenticated</dd> |
| |
| <dt><code>FCGI_APACHE_ROLE</code></dt> |
| <dd>set to <code>AUTHORIZER</code>; by checking the current role, the |
| same FastCGI application can handle multiple stages of request |
| processing</dd> |
| </dl> |
| |
| <p>The application must output a <code>Status</code> line to indicate |
| the result of authorization.</p> |
| |
| <note type="warning"><title>Warning</title> |
| <p>Before 2.3.6, only one FastCGI application of any type (AAA or handler) |
| can be used for a particular request URI. Otherwise, the wrong FastCGI |
| application may be invoked for one or more phases of request processing.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidAuthorizerAuthoritative</name> |
| <description>Set to 'off' to allow authorization to be passed along to lower modules upon failure</description> |
| <syntax>FcgidAuthorizerAuthoritative <em>On|Off</em></syntax> |
| <default>FcgidAuthorizerAuthoritative On</default> |
| <contextlist><context>directory</context> <context>.htaccess</context></contextlist> |
| <override>FileInfo</override> |
| <usage> |
| <p>This directive controls whether or not other authorizers |
| are allowed to run when this module has an authorizer configured |
| and it fails a request. If this directive is <code>On</code> (default) |
| and a FastCGI authorizer returns a failure status, a failure is |
| returned to the client without giving other authorizer a chance to |
| access the resource. If this directive is <code>Off</code>, other |
| authorizers will be called.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidBusyScanInterval</name> |
| <description>scan interval for busy timeout process</description> |
| <syntax>FcgidBusyScanInterval <em>seconds</em></syntax> |
| <default>FcgidBusyScanInterval 120</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>The module performs the |
| <directive module="mod_fcgid">FcgidBusyTimeout</directive> check at this |
| interval.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidBusyTimeout</name> |
| <description>a FastCGI application will be killed after handling a request for FcgidBusyTimeout</description> |
| <syntax>FcgidBusyTimeout <em>seconds</em></syntax> |
| <default>FcgidBusyTimeout 300</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This is the maximum time limit for request handling. If a FastCGI |
| request does not complete within FcgidBusyTimeout seconds, it will be |
| subject to termination. Because the check is performed at the |
| interval defined by <directive module="mod_fcgid">FcgidBusyScanInterval</directive>, |
| request handling may be allowed to proceed for a longer period of time.</p> |
| |
| <p>The purpose of this directive is to terminate hung applications. |
| The default timeout may need to be increased for applications that |
| can take longer to process the request.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidCmdOptions</name> |
| <description>Set processing options for a FastCGI |
| command</description> |
| <syntax>FcgidCmdOptions <em>command</em> <em>option</em> |
| [<em>option</em>] ...</syntax> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This directive allows processing options to be specified for |
| a specific command spawned by mod_fcgid. Each option for the |
| command corresponds to another directive that normally applies to |
| all commands started within a particular context. If a |
| particular option is not specified on this directive, the |
| default will be used.</p> |
| |
| <p>The following table provides a list of options and |
| corresponding directives:</p> |
| |
| <table border="1" style="zebra"> |
| <tr><th>Option name and syntax</th><th>Corresponding directive</th></tr> |
| <tr> |
| <td><code>ConnectTimeout <em>seconds</em></code></td> |
| <td><directive module="mod_fcgid">FcgidConnectTimeout</directive></td> |
| </tr> |
| <tr> |
| <td><code>IdleTimeout <em>seconds</em></code></td> |
| <td><directive module="mod_fcgid">FcgidIdleTimeout</directive></td> |
| </tr> |
| <tr> |
| <td><code>InitialEnv <em>name[=value]</em></code></td> |
| <td><directive module="mod_fcgid">FcgidInitialEnv</directive></td> |
| </tr> |
| <tr> |
| <td><code>IOTimeout <em>seconds</em></code></td> |
| <td><directive module="mod_fcgid">FcgidIOTimeout</directive></td> |
| </tr> |
| <tr> |
| <td><code>MaxProcesses <em>value</em></code></td> |
| <td><directive module="mod_fcgid">FcgidMaxProcessesPerClass</directive></td> |
| </tr> |
| <tr> |
| <td><code>MaxProcessLifeTime <em>seconds</em></code></td> |
| <td><directive module="mod_fcgid">FcgidProcessLifeTime</directive></td> |
| </tr> |
| <tr> |
| <td><code>MaxRequestsPerProcess <em>value</em></code></td> |
| <td><directive module="mod_fcgid">FcgidMaxRequestsPerProcess</directive></td> |
| </tr> |
| <tr> |
| <td><code>MinProcesses <em>value</em></code></td> |
| <td><directive module="mod_fcgid">FcgidMinProcessesPerClass</directive></td> |
| </tr> |
| </table> |
| |
| <p>Multiple environment variables are defined by repeating |
| the <code>InitialEnv</code> option.</p> |
| |
| <example><title>Example</title> |
| FcgidCmdOptions /usr/local/bin/wrapper \<br /> |
| <indent> |
| InitialEnv MAX_REQUESTS=2000 \<br /> |
| MaxRequestsPerProcess 2000 \<br /> |
| IOTimeout 90<br /> |
| </indent> |
| </example> |
| |
| <p>When <code>/usr/local/bin/wrapper</code> is spawned, its initial |
| environment contains the <code>MAX_REQUESTS=2000</code> |
| environment variable setting; additionally, mod_fcgid will |
| terminate it after it has handled 2000 requests, and I/O |
| operations will time out after 90 seconds. Directives |
| corresponding to other options, such as |
| <directive module="mod_fcgid">FcgidIdleTimeout</directive> or |
| <directive module="mod_fcgid">FcgidProcessLifeTime</directive>, |
| will be ignored for this command; defaults will be used for options |
| not specified on <directive>FcgidCmdOptions</directive>.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidInitialEnv</name> |
| <description>an environment variable name and optional value to pass to FastCGI.</description> |
| <syntax>FcgidInitialEnv <em>name</em> [ <em>value</em> ]</syntax> |
| <default>none</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>Use <directive>FcgidInitialEnv</directive> to define environment |
| variables to pass to the FastCGI application. This directive can |
| be used multiple times.</p> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidMaxProcessesPerClass</name> |
| <description>Max process count of one class of FastCGI application</description> |
| <syntax>FcgidMaxProcessesPerClass <em>value</em></syntax> |
| <default>FcgidMaxProcessesPerClass 100</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This directive sets the maximum number of processes that can be |
| started for each process class.</p> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidMinProcessesPerClass</name> |
| <description>Min process count of one class of FastCGI application</description> |
| <syntax>FcgidMinProcessesPerClass <em>value</em></syntax> |
| <default>FcgidMinProcessesPerClass 3</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This directive sets the minimum number of processes that will be |
| retained in a process class after finishing requests.</p> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidErrorScanInterval</name> |
| <description>scan interval for exited process</description> |
| <syntax>FcgidErrorScanInterval <em>seconds</em></syntax> |
| <default>FcgidErrorScanInterval 3</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>This is the interval at which the module will handle |
| pending process termination. Termination is pending for |
| any processes which have exceeded |
| <directive module="mod_fcgid">FcgidIdleTimeout</directive> or |
| <directive module="mod_fcgid">FcgidProcessLifeTime</directive>.</p> |
| |
| <p>Unix: mod_fcgid will terminate such processes with SIGTERM; |
| if the process is still active during the next scan, the process |
| will be terminated with SIGKILL. Thus, this directive controls the |
| amount of time for orderly process terminate before being forcibly |
| killed.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidIdleScanInterval</name> |
| <description>scan interval for idle timeout process</description> |
| <syntax>FcgidIdleScanInterval <em>seconds</em></syntax> |
| <default>FcgidIdleScanInterval 120</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>This is the interval at which the module will search for |
| processes which have exceeded |
| <directive module="mod_fcgid">FcgidIdleTimeout</directive> or |
| <directive module="mod_fcgid">FcgidProcessLifeTime</directive>.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidIdleTimeout</name> |
| <description>An idle FastCGI application will be killed after FcgidIdleTimeout</description> |
| <syntax>FcgidIdleTimeout <em>seconds</em></syntax> |
| <default>FcgidIdleTimeout 300</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>Application processes which have not handled a request for this |
| period of time will be terminated, if the number of processses for the |
| class exceeds |
| <directive module="mod_fcgid">FcgidMinProcessesPerClass</directive>. |
| A value of <code>0</code> disables the check.</p> |
| |
| <p>This idle timeout check is performed at the frequency of the configured |
| <directive module="mod_fcgid">FcgidIdleScanInterval</directive>.</p> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidIOTimeout</name> |
| <description>Communication timeout to FastCGI server</description> |
| <syntax>FcgidIOTimeout <em>seconds</em></syntax> |
| <default>FcgidIOTimeout 40</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This is the maximum period of time the module will wait |
| while trying to read from or write to a FastCGI application.</p> |
| |
| <note type="hint"><title>Note</title> |
| <p>The FastCGI application must begin generating the response within |
| this period of time. Increase this directive as necessary to handle |
| applications which take a relatively long period of time to respond.</p> |
| </note> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidConnectTimeout</name> |
| <description>Connect timeout to FastCGI server</description> |
| <syntax>FcgidConnectTimeout <em>seconds</em></syntax> |
| <default>FcgidConnectTimeout 3</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This is the maximum period of time the module will wait |
| while trying to connect to a FastCGI application on Windows. |
| (This directive is not respected on Unix, where AF_UNIX defaults |
| will apply.)</p> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidMaxProcesses</name> |
| <description>maximum number of FastCGI application processes</description> |
| <syntax>FcgidMaxProcesses <em>value</em></syntax> |
| <default>FcgidMaxProcesses 1000</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>This directive sets the maximum number of FastCGI application |
| processes which can be active at one time.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidMaxRequestInMem</name> |
| <description>maximum size of a request which will be held in memory</description> |
| <syntax>FcgidMaxRequestInMem <em>bytes</em></syntax> |
| <default>FcgidMaxRequestInMem 65536</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This module reads the entire request body from the client |
| before sending it to the application. Normally the request body |
| will be stored in memory. Once the amount of request body read |
| from the client exceeds <directive>FcgidMaxRequestInMem</directive> |
| bytes, the remainder of the request body will be stored in a |
| temporary file.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidMaxRequestLen</name> |
| <description>maximum HTTP request length</description> |
| <syntax>FcgidMaxRequestLen <em>bytes</em></syntax> |
| <default>FcgidMaxRequestLen 131072</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>If the size of the request body exceeds this amount, the |
| request will fail with <code>500 Server Error</code>.</p> |
| |
| <p>Administrators should change this to an appropriate value for their site based |
| on application requirements.</p> |
| |
| <note type="warning"><title>Warning</title> |
| <p>Before 2.3.6, this defaulted to 1GB. Most users of earlier versions should |
| use this directive to set a more reasonable limit.</p> |
| </note> |
| </usage> |
| <seealso><directive module="mod_fcgid">FcgidMaxRequestInMem</directive></seealso> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidMaxRequestsPerProcess</name> |
| <description>Max requests handled by each FastCGI application</description> |
| <syntax>FcgidMaxRequestsPerProcess <em>value</em></syntax> |
| <default>FcgidMaxRequestsPerProcess 0</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>FastCGI application processes will be terminated after handling |
| the specified number of requests. A value of <code>0</code> |
| disables the check.</p> |
| <note type="hint"><title>Note</title> |
| <p>A value of <code>-1</code> is currently accepted for ease of |
| migration for existing configurations. It is treated the same as |
| <code>0</code>.</p> |
| </note> |
| <p>Certain applications, notably PHP as FastCGI, have their own |
| facility for terminating after handling a certain number of |
| requests. This directive can be used to avoid sending |
| additional requests to the application after it has handled its |
| limit.</p> |
| <note type="hint"><title>Note</title> |
| <p>If this is set such that frequent process creation will be |
| required, you will likely need to adjust |
| <directive module="mod_fcgid">FcgidSpawnScoreUpLimit</directive> |
| or other score-related directives to allow more frequent process |
| creation.</p> |
| </note> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidOutputBufferSize</name> |
| <description>CGI output buffer size</description> |
| <syntax>FcgidOutputBufferSize <em>bytes</em></syntax> |
| <default>FcgidOutputBufferSize 65536</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This is the maximum amount of response data the module will read |
| from the FastCGI application before flushing the data to the client.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidPassHeader</name> |
| <description>Header name which will be passed to FastCGI as environment variable.</description> |
| <syntax>FcgidPassHeader <em>name</em></syntax> |
| <default>none</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>This directive specifies the name of a request header which |
| will be passed to the FastCGI application as an environment |
| variable. The name of the environment variable is derived from |
| the value specified on this directive, as discussed below:</p> |
| |
| <p>The legacy behavior is to use the value specified on this directive |
| as the environment variable name, converting hyphens to underscores. |
| No case conversion is performed.</p> |
| |
| <p>Beginning with release 2.3.6, an additional environment variable |
| is created. The value specified on this directive is converted to |
| upper case, prefixed with <code>HTTP_</code>, and hyphens are |
| converted to underscores.</p> |
| |
| <note type="hint"><title>Note</title> |
| <p>Most request headers are already available to the application |
| as environment variables, and generally are prefixed with |
| <code>HTTP_</code>. (Notable exceptions are <code>Content-type</code> |
| and <code>Content-length</code>, which do not have the |
| <code>HTTP_</code> prefix.) Thus, this directive is only required |
| for request headers that are purposefully omitted, such as |
| <code>Authorization</code> and <code>Proxy-Authorization</code>. |
| Only pass these request headers if absolutely required.</p> |
| </note> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidFixPathinfo</name> |
| <description>Mirror the PHP <code>cgi.fix_pathinfo</code> |
| setting</description> |
| <syntax>FcgidFixPathinfo 1</syntax> |
| <default>FcgidFixPathinfo 0</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>This directive enables special <code>SCRIPT_NAME</code> |
| processing which allows PHP to provide additional path information. |
| The setting of <directive>FcgidFixPathinfo</directive> |
| should mirror the <code>cgi.fix_pathinfo</code> setting in |
| <code>php.ini</code>.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidProcessLifeTime</name> |
| <description>maximum FastCGI application process lifetime</description> |
| <syntax>FcgidProcessLifeTime <em>seconds</em></syntax> |
| <default>FcgidProcessLifeTime 3600</default> |
| <contextlist><context>server config</context> <context>virtual host</context></contextlist> |
| <usage> |
| <p>Idle application processes which have existed for greater |
| than this time will be terminated, if the number of processses for the |
| class exceeds |
| <directive module="mod_fcgid">FcgidMinProcessesPerClass</directive>. |
| A value of <code>0</code> disables the check.</p> |
| |
| <p>This process lifetime check is performed at the frequency of the configured |
| <directive module="mod_fcgid">FcgidIdleScanInterval</directive>.</p> |
| |
| <p>This setting will apply to all applications spawned for this |
| server or virtual host. Use |
| <directive module="mod_fcgid">FcgidCmdOptions</directive> to apply |
| this setting to a single application.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidProcessTableFile</name> |
| <description>shared memory file path</description> |
| <syntax>FcgidProcessTableFile <em>pathname</em></syntax> |
| <default>FcgidProcessTableFile logs/fcgid_shm</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>This module uses shared memory on Unix to maintain state which |
| is shared between httpd processes. This directive specifies the |
| name of the shared memory file.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidIPCDir</name> |
| <description>directory for AF_UNIX sockets (Unix) or pipes (Windows)</description> |
| <syntax>FcgidIPCDir <em>pathname</em></syntax> |
| <default>FcgidIPCDir logs/fcgidsock</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>This module uses AF_UNIX sockets or named pipes, depending on the |
| platform, to communicate with FastCGI applications. This directive |
| specifies the directory where those sockets or named pipes will be |
| created.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidSpawnScore</name> |
| <description>Each spawn adds this value to the process activity score.</description> |
| <syntax>FcgidSpawnScore <em>value</em></syntax> |
| <default>FcgidSpawnScore 1</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>Lower values of this directive increase the allowed spawn rate.</p> |
| |
| <p>Refer to the <directive module="mod_fcgid">FcgidSpawnScoreUpLimit</directive> |
| directive for more information.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidSpawnScoreUpLimit</name> |
| <description>Maximum value of the process activity score which allows |
| a spawn to occur</description> |
| <syntax>FcgidSpawnScoreUpLimit <em>value</em></syntax> |
| <default>FcgidSpawnScoreUpLimit 10</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>A process activity score is maintained for each FastCGI application; |
| the score is used to control the rate of spawning in order to avoid |
| placing too much load on the system, particularly for applications that |
| are repeatedly exiting abnormally.</p> |
| |
| <p>The value of <directive module="mod_fcgid">FcgidSpawnScore</directive> |
| is added to the score for every spawned application process. The value of |
| <directive module="mod_fcgid">FcgidTerminationScore</directive> is added |
| to the score for every terminated application process. The value of |
| <directive module="mod_fcgid">FcgidTimeScore</directive> is subtracted |
| from the score every second.</p> |
| |
| <p>When the current score is higher than the value of |
| <directive>FcgidSpawnScoreUpLimit</directive>, no additional application |
| processes will be spawned; subsequent requests must wait until an existing |
| process is free or until the score decreases below the limit.</p> |
| |
| <p>If the limit is reached under normal load, it may not be sufficient to |
| simply increase the limit, as that would only delay the amount of time |
| before the limit is reached again. Decrease the value of |
| <directive module="mod_fcgid">FcgidSpawnScore</directive> and/or |
| <directive module="mod_fcgid">FcgidTerminationScore</directive>, or |
| increase the value of <directive module="mod_fcgid">FcgidTimeScore</directive>, |
| to allow a higher rate of spawning.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidTerminationScore</name> |
| <description>Each terminated process adds this value to the process activity |
| score.</description> |
| <syntax>FcgidTerminationScore <em>value</em></syntax> |
| <default>FcgidTerminationScore 2</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>Lower values of this directive increase the allowed spawn rate. Negative |
| values can be useful in some circumstances, such as allowing process |
| replacement without increasing the score.</p> |
| |
| <p>Refer to the <directive module="mod_fcgid">FcgidSpawnScoreUpLimit</directive> |
| directive for more information.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidTimeScore</name> |
| <description>Amount subtracted from process activity score each |
| second</description> |
| <syntax>FcgidTimeScore <em>value</em></syntax> |
| <default>FcgidTimeScore 1</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>Higher values of this directive increase the allowed spawn rate.</p> |
| |
| <p>Refer to the <directive module="mod_fcgid">FcgidSpawnScoreUpLimit</directive> |
| directive for more information.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidWrapper</name> |
| <description>The CGI wrapper setting</description> |
| <syntax>FcgidWrapper <em>command</em> [ <em>suffix</em> ] [ virtual ]</syntax> |
| <default>none</default> |
| <contextlist> |
| <context>server config</context> <context>virtual host</context> |
| <context>directory</context> <context>.htaccess</context> |
| </contextlist> |
| <override>FileInfo</override> |
| <usage> |
| <p>The given command is used to spawn FCGI server processes. If this directive |
| is not used, the file pointed to by the request URL will be used instead. |
| Options for the command can be included using quotation marks surrounding |
| the command and options.</p> |
| <p>The optional <code>suffix</code> argument restricts the use of this FCGI |
| server to all URLs with the given exact path suffix. A suffix needs to start |
| with '<code>.</code>'.</p> |
| <p>The <code>virtual</code> flag signals that there will be no check |
| whether the request URL actually points to an existing file. The only |
| file which needs to exist is the wrapper itself.</p> |
| <p>The directive can be used multiple times. A wrapper defined without a suffix |
| is used as a default in case no suffix matches.</p> |
| </usage> |
| </directivesynopsis> |
| |
| <directivesynopsis> |
| <name>FcgidZombieScanInterval</name> |
| <description>scan interval for zombie process</description> |
| <syntax>FcgidZombieScanInterval <em>seconds</em></syntax> |
| <default>FcgidZombieScanInterval 3</default> |
| <contextlist><context>server config</context></contextlist> |
| <usage> |
| <p>The module checks for exited FastCGI applications at this interval. |
| During this period of time, the application may exist in the process |
| table as a zombie (on Unix).</p> |
| </usage> |
| </directivesynopsis> |
| |
| </modulesynopsis> |