一小子攻城狮
想与博主以及众群友“发生关系”的请点击加【群243143941】;
  • 攻城狮
  • 身处网络
  • 随笔
11月52020

Apache cgi模式 phpstudy 40s返回500问题

作者:老温   发布:2020-11-5 14:45 Thursday   分类:攻城狮   阅读:5次   评论:0条  

以下代码加到http.conf即可

<IfModule mod_fcgid.c>

 FcgidProcessLifeTime 8200

 FcgidIOTimeout 8200

 FcgidConnectTimeout 4000

 </IfModule>

相关资料(

apache 使用 mod_fcgid.so模块时 配置指令

)

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"

 

 

FcgidProcessLifeTime 。

 

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类型的程序。



本文固定链接: http://php.oneboys.cn/post-82.html

blogger
该日志由 老温 于2020-11-5 14:45 Thursday发表在 攻城狮 分类下。
版权所有:《一小子攻城狮》 → 《Apache cgi模式 phpstudy 40s返回500问题》;
除特别标注,本博客所有文章均为原创. 互联分享,尊重版权,转载请以链接形式标明本文地址;
本文标签:
上一篇::js 判断是否微信小程序浏览器打开
下一篇:正则过滤textarea空格换行

热门文章

相关文章

  • PHP PDO实践测试问题规整
  • 隐藏滚动条 兼容任何浏览器 适合固定宽高
  • Apache 设置自定义 php环境变量server
  • Jquery each函数的break与continue
  • 防止table或者div被撑开
取消回复

发表评论

亲,头像对么?

提交中,请稍候……



    最新文章热门文章随机文章

    • php邀请背景图合成二维码
    • 列表点击编辑
    • css 宽度不固定 正方形盒子
    • 终端生成证书 公私钥
    • apache环境接收自定义header
    • PHP curl 模块获取header和body完整信息
    • php导出excel,不用php Excel类
    • Mysql 导入错误1064 USING BTREE错误
    • PHP PDO属性列表以及PDO方法分类
    • mysql1153错误,max_allowed_packet
    • Apache中 RewriteCond 规则参数介绍
    • Apache 设置自定义 php环境变量server
    • Apache 设置某个目录文件为直接下载header
    • window 添加自定义服务 添加php程序到服务
    • php文件处理相关 批量替换等等
  • 标签

      PDO方法 PDO属性 MYSQL MYSQL重装 linux学习 linux命令screen php命令行 phpExcel max_allowed_packet Jquery php命名空间 MYSQL错误 php获取header信息 getallheaders php弱类型 php运算符优先级 自媒体运营 svn svn命令 解除svn控制 PHP 客户端IP sql随机取出数据 SQL语句limit qq群排名 QQ群排名技术 刷QQ群活跃度 .htaccess rar安装 301重定向 mysql_ping api错误码设计 PDO PDO连接状态 营销中的驱动媒介 curl获取header信息 CURL HTML+CSS checkbox的change事件 DOM加载 图片加载 微信公众账号 微信公众账号加粉 解除svn版本控制 html5 html5上传 html5进度条上传 高并发 队列 高并发超载 html5预览 MEMCACHE 一致性哈希算法 WDCP zendStudio php内置函数不能自动提示 insertinto selectinto 经典SQL语句大全 sql学习 Javascript 日期函数 获取月份天数 linux find命令 锚点 HTML 正则表达式 CSS自动折行 CSS自动换行 SQL CDN测试 哈夫曼 SQL删除重复并保留一条 curl下载 修改mysql root密码 php删除文件夹 php遍历文件夹 JS js时间戳 iframe跨域 js+iframe跨域传递参数 长连接 mysql长连接apache mysql长连接fastcgi base64编码加密 SSDB ssdb遍历集合 ssdb集合 emlog nginx伪静态 Fireworks 文字水印 前端 echarts echarts全国地图 html+css隐藏滚动条 魔方图片 魔方相册 html+css魔方相册 php错误日志 PhpSpreadsheet PhpSpreadsheet导入 PhpSpreadsheet导出 PhpSpreadsheet设置单元格属性 js函数抖动 中文分词 中文切词 php公众号 网易云音乐播放器 网易云音乐歌单播放器 解析header 解析cookie CSS
  • 存档

    • 2021年2月(2)
    • 2021年1月(3)
    • 2020年11月(11)
    • 2020年10月(3)
    • 2020年8月(1)
    • 2020年2月(9)
    • 2020年1月(2)
    • 2019年12月(3)
    • 2016年11月(1)
    • 2016年5月(1)
    • 2016年2月(1)
    • 2015年10月(2)
    • 2015年9月(2)
    • 2015年7月(9)
    • 2015年6月(5)
    • 2015年5月(1)
    • 2015年4月(4)
    • 2015年3月(13)
    • 2015年2月(3)
    • 2015年1月(8)
    • 2014年12月(10)
© 2010 - 2014 老温PHP 版权所有