“服务器关闭连接,没有发送任何数据”

Tob*_*oby 6 php debian wordpress apache-2.2

  1. 服务器设置
  2. 问题
  3. 诊断信息
  4. 我试过的
  5. 需要特定帮助

1.我有以下服务器设置:

(在使用 Hyper-V 的 VM 中运行)

Debian 挤压

Linux 2.6.32-5-amd64

Apache2-mpm-prefork 2.2.16-6+squeeze10

PHP 5.3.3-7+squeeze14

此服务器受 Suhosin 补丁 0.9.9.1 保护

每个孩子的最大请求数:0 - 保持活动状态:开启 - 每个连接的最大请求数:100

超时连接:300 - Keep-Alive:15

加载的模块核心 mod_log_config mod_logio prefork http_core mod_so mod_alias mod_auth_basic mod_auth_digest mod_authn_file mod_authz_default mod_authz_groupfile mod_authz_host mod_authz_user mod_cgi mod_deflate mod_dir mod_env mod_mime_phpre

Wordpress 3.4.2(即将升级到 3.5 :)


2.问题

当我重新启动服务器(sudo shutdown -r now)时,转到任何网站页面都会导致 Web 浏览器出现以下错误(在本例中为 Google Chrome,但其他浏览器也显示相同的错误)。这个错误也可能发生一个小时左右,毕竟工作正常,似乎是随机的,这是我最担心的,因为这意味着我的服务器不可靠:

未收到数据 无法加载网页,因为服务器未发送数据。以下是一些建议: 稍后重新加载此网页。错误 324 (net::ERR_EMPTY_RESPONSE):服务器关闭了连接但没有发送任何数据。


3. 诊断信息 apache 错误日志包含以下条目:

[Fri Dec 14 22:23:27 2012] [notice] child pid 1955 exit signal 浮点异常 (8)

[Fri Dec 14 22:23:27 2012] [notice] child pid 1956 退出信号浮点异常(8)

[Fri Dec 14 22:23:29 2012] [notice] child pid 1957 退出信号浮点异常(8)

[Fri Dec 14 22:23:30 2012] [notice] child pid 1958 退出信号浮点异常(8)

[Fri Dec 14 22:23:32 2012] [notice] child pid 1959 退出信号浮点异常(8)

[Fri Dec 14 22:23:32 2012] [notice] child pid 1960 退出信号浮点异常(8)

[Fri Dec 14 22:23:34 2012] [notice] child pid 1961 退出信号浮点异常(8)

[Fri Dec 14 22:23:34 2012] [notice] child pid 1962 退出信号浮点异常(8)


4. 我试过的

a) 我可以通过使用以下命令重置服务器两次(重置一次不起作用)来临时“修复”网站。注意:“重新加载”选项不起作用,我必须使用重新启动两次。但是,该错误可能会在稍后再次发生。

须藤/etc/init.d/apache2重启须藤/etc/init.d/apache2重启

b) 我尝试通过卸载 php5-suhosin 来禁用 suhosin,但 php 信息页面仍然显示“此服务器受 Suhosin 补丁 0.9.9.1 保护”。我尝试通过创建一个包含以下内容的文件 /etc/php5/apache2/conf.d/suhosin.ini 将 Suhosin 置于模拟模式:

[suhosin] suhosin.simulation = 开

php 信息页面在“已解析的其他 .ini 文件”列表中显示 suhosin.ini 文件,但 php 信息页面仍显示“此服务器受 Suhosin Patch 0.9.9.1 保护”

c) 在 /etc/php5/apache2/ 中增加 PHP 内存限制:

; 脚本可能消耗的最大内存量 (128MB)

; http://php.net/memory-limit

内存限制 = 512M

d) 禁用所有 Wordpress 插件,并返回默认主题。


5. 需要的具体帮助 我非常想帮助调试这里发生的事情。我不确定如何确定 Apache 错误日志中哪些进程正在退出“[notice] child pid 1955 exit signal Floating point exception (8)”,或者是什么导致它们退出。以及 suhosin 是否是问题的一部分(以及如何禁用它)。

在此先感谢您提供的任何建议或技巧,以帮助我进行调试。

ase*_*seq 0

你使用 php,我会首先朝那个方向看,但看起来这就是你已经在做的事情。我对“退出信号浮点异常”进行了快速搜索,并且 apache+php 出现了很多。也许其中一个 php 脚本已损坏,无论是设计原因还是文件被巧妙损坏。

继续消除 php 相关的东西,直到崩溃停止,删除脚本/站点/插件,重新下载并重新安装 php 包和其他相关包(包括 apache2)。