FcgidBusyScanInterval指令 |
说明:扫描繁忙超时进程的间隔 |
语法: FcgidBusyScanInterval seconds |
默认:FcgidBusyScanInterval 120 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:BusyScanInterval |
该模块将执行FcgidBusyTimeout检查,在此区间。
FcgidBusyTimeout 指令 |
说明: 杀死处理请求超过FcgidBusyTimeout设置的时间后的FastCGI应用程式 |
语法: FcgidBusyTimeout seconds |
默认:FcgidBusyTimeout 300 |
环境: 服务器配置,虚拟主机 |
状态:外部 |
对应的老指令:BusyTimeout |
这是处理请求的最大时间限制。如果FastCGI请求超过了FcgidBusyTimeou设置的秒数,请求将会终止。而检查进行的时间将由FcgidBusyScanInterval定义,请求处理在设置的时间内有效。本指令的目的是终止挂起的应用程序。默认的超时时间,可能需要增加应用程序,可以采取更长的时间来处理请求。
<ifmodulemod_fcgid.c>
FcgidBusyScanInterval120 #与FcgidBusyTimeout对应,每120秒进行一次检查
FcgidBusyTimeout 300 #超过300秒的fastcgi请求将被终止
</ifmodule>
FcgidConnectTimeout指令 |
说明: Fastcgi的服务在等待设置的时间参数后超时(Fastcgi连接超时) |
语法: FcgidConnectTimeout seconds |
默认:FcgidConnectTimeout 3 |
环境: 服务器配置,虚拟主机 |
状态:外部 |
对应的老指令:IPCConnectTimeout |
这是Fastcgi这个模块在windows中当它试图连接一个应用的时候设置的一个最大的周期时间,当等待时间超过了这个时间,将会出现超时。(此指令不适应在UNIX)
FcgidErrorScanInterval指令 |
说明: 在间隔的时间内进行扫描退出挂起的进程 |
语法: FcgidErrorScanInterval seconds |
默认:FcgidErrorScanInterval3 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:ErrorScanInterval |
这是间隔模块将处理挂起的进程终止。 终止其中已超过FcgidIdleTimeout或FcgidProcessLifeTime任何进程正在等待。
FcgidIdleScanInterval指令 |
说明: 空闲超时过程的扫描间隔 |
语法: FcgidIdleScanInterval seconds |
默认:FcgidFixPathinfo120 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:IdleScanInterval |
在这个设置的时间间隔内,在该模块将搜索过程已超过FcgidIdleTimeout或FcgidProcessLifeTime设置的最大有效时间,超过这个时间的进程将会终止。
FcgidIdleTimeout 指令 |
说明: 空闲的Fastcgi程序在超过设置的时间后将会被杀死 |
语法: FcgidIdleTimeout seconds |
默认:FcgidIdleTimeout 300 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:IdleTimeout |
超过了设置的这个闲置的时间,没有处理请求的的Fastcgi程序将会被终止.空闲进程的检查与上面的FcgidIdleScanInterval一起配合使用.
<ifmodulemod_fcgid.c>
FcgidIdleScanInterval 120 #与FcgidIdleTimeout对应,每120秒进行一次检查
FcgidIdleTimeout 300 #超过300秒的fastcgi空闲进程将被终止
</ifmodule>
FcgidInitialEnv 指令 |
说明: 将环境变量的值和一些可选值传给Fastcgi |
语法: FcgidInitialEnv name [ value ] |
默认:none |
环境: 服务器配置 |
状态:外部 |
对应的老指令:DefaultInitEnv |
使用FcgidInitialEnv定义环境变量传递到FastCGI的应用程序。这个指令可以多次使用
//-------------------------------------------------------//
# php.ini文件位置
FcgidInitialEnvPHPRC "C:/Progra~1/PHP"
//------------------------------------------------------//
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnvPHP_FCGI_MAX_REQUESTS 1000
//-------------------------------------------------------//
#windows的path设置
FcgidInitialEnvPATH"D:/usr/local/php5;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;"
//-----------------------------------------------------//
#操作系统目录
FcgidInitialEnvSystemRoot "C:/Windows"
//----------------------------------------------------//
#系统盘
FcgidInitialEnvSystemDrive "C:"
//-----------------------------------------------------//
#临时文件夹
FcgidInitialEnvTEMP "C:/WINDOWS/TEMP"
//----------------------------------------------------//
#存放临时文件的文件夹
FcgidInitialEnv TMP"C:/WINDOWS/TEMP"
//-----------------------------------------------------//
#操作系统安装目录
FcgidInitialEnvwindir "C:/WINDOWS"
FcgidIOTimeout 指令 |
说明: FastCGI的服务器通信超时 |
语法: FcgidIOTimeout seconds |
默认:FcgidIOTimeout 40 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:IPCCommTimeout |
试图读或者写的Fastcgi应用将在设置的时间内等待进行工作,
FcgidFixPathinfo 指令 |
说明: 镜像PHP cgi.fix_pathinfo设置 |
语法: FcgidFixPathinfo 1 |
默认:FcgidFixPathinfo0 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:PHP_Fix_Pathinfo_Enable |
默认是不支持pathinfo模式,只支持普通的url访问模式,如果在这里用了这个指令,将会用到php.ini里面的设置,如下:
cgi.fix_pathinfo=1
pathinfo模式指非传统的URL访问模式,如伪静态,rewrite
FcgidMaxProcesses 指令 |
说明: php-cgi最大的进程数 |
语法: FcgidMaxProcesses value |
默认:FcgidMaxProcesses 1000 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:MaxProcessCount |
这个指令设置了在运行程序的时候可以一次性激活最大数量的FastCGI进程。你有更多的RAM,您可以设定值越高。
FcgidMaxProcessesPerClass指令 |
说明: 每个虚拟主机可以最大开启多少个FCGI进程 |
语法: FcgidMaxProcessesPerClass value |
默认:FcgidMaxProcessesPerClass 100 |
环境: 服务器配置 |
状态:外部 |
对应的老指令:DefaultMaxClassProcessCount |
默认为100,每台虚拟主机可以最大可以开启100个Fastcgi进程,即单一的客户可以有100 PHP同时服务请求。我会建议值从8到20。注:如果有更多的请求在同一时间,他们将被排队,而不是拒绝。(值的大小不能大于FcgidMaxProcesses设置的值)
FcgidMinProcessesPerClass指令 |
说明: 与FcgidMaxProcessesPerClass相反 |
语法: FcgidMaxProcessesPerClass value |
默认:FcgidMaxProcessesPerClass3 |
环境: 服务器配置 |
状态:外部 |
应始终为0
FcgidMaxRequestInMem指令 |
说明: 每个请求保存在内存中的最大尺寸 |
语法: FcgidMaxRequestInMem bytes |
默认:FcgidMaxRequestInMem 65536 |
环境: 服务器配置 |
状态:外部 |
该模块从客户端读取整个请求体,然后将其发送到应用程序。 通常情况下,在请求体将被存储在内存中。一旦从客户端读取请求体的量超过FcgidMaxRequestInMem设置的字节,请求体中的其余部分将被存储在临时文件中。
FcgidMaxRequestLen 指令 |
说明: Http请求的最大长度 |
语法: FcgidMaxRequestLen bytes |
默认:FcgidMaxRequestLen 131072 |
环境: 服务器配置 |
状态:外部 |
如果Http请求大小超过这一数额,请求将失败,将出现500 Server Error。的错误 ,一般在上传文件的时候出现.
警告:在2.3.6以前默认是1GB,现在默认是128K, 用户应该使用这个指令设置更合理的限制.例如我使用的2.3.6,就应该用这个参数进行设置可以上传更大的数据。
FcgidMaxRequestsPerProcess指令 |
说明: php-cgi每个进程的最大请求数 |
语法: FcgidMaxRequestsPerProcess value |
默认:FcgidMaxRequestsPerProcess 0 |
环境: 服务器配置,虚拟主机 |
状态:外部 |
FastCGI应用程序进程处理请求的最大数目。 值0禁止检查。
FcgidOutputBufferSize指令 |
说明: CGI输出缓冲区的大小 |
语法: FcgidOutputBufferSize bytes |
默认:FcgidOutputBufferSize 65536 |
环境: 服务器配置,虚拟主机 |
状态:外部 |
设置cgi缓冲区的大小.
FcgidProcessLifeTime指令 |
说明: CGI进程的生存时间 |
语法: FcgidOutputBufferSize bytes |
默认:FcgidOutputBufferSize 65536 |
环境: 服务器配置,虚拟主机 |
状态:外部 |
大于这个时间空闲的已经存在的PHP-CGI进程将被终止,如果进程数量超过FcgidMinProcessesPerClass的设置 。 值0禁止检查。这个过程中的生存时间进行检查上面的频率配置的FcgidIdleScanInterval。
FcgidSpawnScoreUpLimit指令 |
说明: 允许进程生成速度的控制值 |
语法: FcgidSpawnScoreUpLimit value |
默认:FcgidSpawnScoreUpLimit 10 |
环境: 服务器配置 |
状态:外部 |
生成速度控制值。当一个进程产生或终止,此数值会增加,并且随着时间的推移而减少增加的程度;当此数值高于FcgidSpawnScoreUpLimit时,正在产生的进程会稍停一会,只到现有的进程空闲或FcgidSpawnScoreUpLimit的值低于设定的值。此数据越高,生成进程的速度将越快。
FcgidSpawnScore 指令 |
说明: 进程生成速度的权重 |
语法: FcgidSpawnScore value |
默认:FcgidSpawnScore 1 |
环境: 服务器配置 |
状态:外部 |
生成速度权重。对每一个进程来讲,这个数值会加上生成速度控制值(FcgidSpawnScoreUpLimit)。这个值越大,CGI生成速度越快。
FcgidTerminationScore指令 |
说明: 增加每个终止进程活动的值 |
语法:FcgidTerminationScore value |
默认:FcgidTerminationScore 2 |
环境: 服务器配置 |
状态:外部 |
消亡权重。这个值越大,CGI进程生成速度越慢。
FcgidTimeScore 指令 |
说明: 减去进程活动的值的的每一秒(设置的值) |
语法:FcgidTimeScore value |
默认:FcgidTimeScore 1 |
环境: 服务器配置 |
状态:外部 |
值越高,进程的生产率就越高。
FcgidWrapper 指令 |
说明: CGI程序位置的设置 |
语法:FcgidWrapper command [ suffix ] [ virtual ] |
默认:none |
环境: 服务器配置 |
状态:外部 |
一般用来指定php-cgi路径
LoadModulefcgid_module modules/mod_fcgid.so
<IfModulemod_fcgid.c>
FcgidWrapper"C:/Progra~1/PHP/php-cgi.exe"
</IfModule>
FcgidZombieScanInterval指令 |
说明: 僵尸进程的扫描间隔 |
语法:FcgidZombieScanInterval seconds |
默认:FcgidZombieScanInterval 3 |
环境: 服务器配置 |
状态:外部 |
扫描僵尸进程的时间间隔。
FastCgi基本配置
下面是一个最基本的FastCgi配置
将mod_fcgid.so复制到Apache安装目录下面的modules文件夹,打开httpd.conf,添加下面内容(位置任意):
LoadModulefcgid_module modules/mod_fcgid.so
<IfModulemod_fcgid.c>
AddHandlerfcgid-script .fcgi .php
# php.ini文件位置
FcgidInitialEnvPHPRC "C:/Progra~1/PHP"
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnvPHP_FCGI_MAX_REQUESTS 1000
# php-cgi每个进程的最大请求数
FcgidMaxRequestsPerProcess1000
# php-cgi最大的进程数
FcgidMaxProcesses5
# 最大执行时间
FcgidIOTimeout 120
FcgidIdleTimeout120
#php-cgi路径
FcgidWrapper"C:/Progra~1/PHP/php-cgi.exe"
# Define theMIME-Type for".php" files
AddTypeapplication/x-httpd-php .php
#定义cgi请求的长度
FcgidMaxRequestLen 1500000
</IfModule>
附:
1. AddHandler指令
说明:在文件扩展名与特定的处理器之间建立映射
AddHandlerfcgid-script .fcgi .php
上面语句的解释是:一旦将上述定义放在你的http.conf文件中,所有包含.fcgi,.php扩展名的文件,都会被当成是FCGID程序。
2. AddType 指令
说明:在给定的文件扩展名与特定的内容类型之间建立映射
AddTypeapplication/x-httpd-php .php
上面语句的解释是:一旦将上述定义放在你的http.conf文件中,所有包含.php扩展名的文件,都会被当成是PHP类型的程序。