我有一个php脚本,它从客户端传递的URL加载网页,解析它并将结果发送给客户端。
在我的开发环境(安装了Windows 7& wamp的笔记本电脑)上运行时,它运行正常,但上传到服务器时(Windows Server 2008 R2 + php 5.3.6 + apache 2.2 + mod_fcgid 2.3.9),运行它导致“内部服务器错误”。
我可以看到FastCGI进程如何处理请求,内存消耗量上升到挂起并意外终止的程度。
apache错误日志显示以下两条消息:
(OS 109)The pipe has been ended. : mod_fcgid: get overlap result error, referer: http://some_domain.com/NL-Analysis/getDomainResults
(OS 109)The pipe has been ended. : mod_fcgid: ap_pass_brigade failed in handle_request_ipc function, referer: http://some_domain.com/NL-Analysis/getDomainResults
我已经尝试在互联网上根据错误日志找到解决方案,我发现的大部分内容都指向了mod_fcgid配置。 我试图改变一些mod_fcgid指令和限制,但它没有帮助。
目前,mod_fcgid在httpd.conf中配置了这些参数:
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS=1000
FcgidIOTimeout 7200
FcgidConnectTimeout 7200
FcgidBusyScanInterval 7200
FcgidBusyTimeout 7200
FcgidMaxRequestsPerProcess 1000
FcgidMaxProcesses 80
FcgidIdleTimeout 7200
FcgidMaxRequestInMem 100000000000
FcgidProcessLifeTime 7200
我很乐意提供任何其他意见。
有人能想出一种阻止FastCGI进程终止的方法吗?
谢谢, 阿龙。