这个问题通常不仅仅是主机特定的,它也与开发人员相关,具体取决于配置。
然而,有些主机对 FastCGI 相当严格,会限制您的能力。
通常,不使用 FastCGI 并使用 mod_php 更容易运行,除非您有在应用程序中使用 FastCGI 的特定需要。
我们需要查看您的 fcgi 包装器(/dev/shm/blackmou-php.fcgi 中的内容)或用于 FastCGI 生成的 .htaccess,以便在不知道问题发生在哪些文件以及这些文件上的代码的情况下更好地帮助您。
另外,您的主机是否使用 Apache、LightHttpd 或 Nginx(或组合)?
那时我强烈建议更新使用 PHP 5.3.9+
由于这可能是由多种问题引起的,FastCGI 可以有效防止您的站点/脚本受到拒绝服务攻击或由于内存泄漏等而崩溃。
(例如:尝试通过简单地丢弃和限制请求数量来处理 80,000 个连接,或者通过超时和终止进程陷入无限循环)
该错误通常是由空闲超时(默认为 30 秒)或最大子进程限制引起的。
这也可能是由于某人启动了长时间运行的脚本并在脚本完成之前关闭了浏览器/连接而引起的。
FastCGI 启动其进程包装器,执行命令,在完成进程之前超时,连接被视为由对等方重置。
另一个例子是达到了最大子进程数 (maxProcesses)(例如:许多网站以 2 或 4 个为例,而实际上您可能需要 20 或 50 个,具体取决于平均流量)
如果所有子进程当前都处于活动状态并且进行了额外的请求/连接,则子进程仅限于 maxProcesses,FastCGI 将不会共享活动子进程,因此它必须首先终止进程并启动新的子进程,或者删除请求,具体取决于您的配置。
以下是有关设置的更多信息:
http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html http://www.fastcgi.com/mod_fastcgi/docs/mod_fastcgi.html
http://www.fastcgi.com/drupal/node/10 http://www.fastcgi.com/drupal/node/10
包装示例
PHP_FCGI_CHILDREN=0 #no limit
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=10000
export PHP_FCGI_MAX_REQUESTS
UPDATE
除此之外,这也可能是由 php 内存限制引起的
如果上述方法不能解决您的问题,请更新您的 php.ini 以增加内存限制