gpt4 book ai didi

php - 随机 PHP FastCGI/连接由对等/不完整的 header 重置

转载 作者:IT老高 更新时间:2023-10-29 00:21:50 35 4
gpt4 key购买 nike

我在各种共享主机上的基于 PHP/MySQL 的站点上一直遇到随机 500 内部服务器 错误。我在共享的 Linux 服务器上通过 CGI/FastCGI 使用 PHP 5.2.17。当我查看日志时,我看到了这一点:

[error] [client 75.71.176.224] (104)Connection reset by peer: FastCGI: comm with server "/dev/shm/blackmou-php.fcgi" aborted: read failed, referer: ...
[error] [client 75.71.176.224] FastCGI: incomplete headers (0 bytes) received from server "/dev/shm/blackmou-php.fcgi", referer: ...
[error] [client 75.71.176.224] (104)Connection reset by peer: FastCGI: comm with server "/dev/shm/blackmou-php.fcgi" aborted: read failed, referer: ...
[error] [client 75.71.176.224] FastCGI: incomplete headers (0 bytes) received from server "/dev/shm/blackmou-php.fcgi", referer: ...

有人知道怎么解决吗?

最佳答案

这个问题通常不仅仅是主机特定的,它也与开发人员相关,具​​体取决于配置。然而,有些主机对 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/drupal/node/10

包装示例

PHP_FCGI_CHILDREN=0 #no limit
export PHP_FCGI_CHILDREN
PHP_FCGI_MAX_REQUESTS=10000
export PHP_FCGI_MAX_REQUESTS

更新

除此之外,这也可能是由 php 内存限制引起的

如果上述方法不能解决您的问题,请更新您的 php.ini 以增加memory_limit

关于php - 随机 PHP FastCGI/连接由对等/不完整的 header 重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18009479/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com