Apache HTTP 500,但刷新正确时

时间:2011-01-22 13:38:16

标签: php apache zend-framework

我有一个运行在2台服务器上的网站(移动网络)和1台带haproxy的平衡器,OS ubuntu 10.10

Apache配置:

Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15

StartServers          5
MinSpareServers       5
MaxSpareServers      10
MaxClients          150
MaxRequestsPerChild   0

该网站运行良好但突然现在经常返回空白页HTTP 500(30-50ms内20个字节),没有错误消息,但是当我刷新它正确呈现时。

有没有人知道它可能出错的地方?

更新

我不知道这种相关性是否随时无法加载浏览器让我下载内容,当我检查下载的文件(名称:Random_Chars .~.part)时,我发现在HTML的标题中这些由浏览器添加的代码

meta http-equiv="Content-Type" content="text/html; charset=utf-8" 
meta name="viewport" content="width = device-width, maximum-scale = 1.0, initial-scale = 1.0"
meta name="apple-mobile-web-app-capable" content="yes"
--- ADDED BY BROWSER --
link href="styles/reset.css" rel="stylesheet" type="text/css"
link href="styles/base.css" rel="stylesheet" type="text/css"
script type="text/javascript" src="scripts/templates.js"
script type="text/javascript"
function init() {
var mySlideshow = new Slideshow ("slideshow", 0, true);
var myToggle = new ToggleSwitch(["toggler1","toggler2","toggler3"]);
var myStyleTweaks = new StyleTweaker();
myStyleTweaks.add("Series60/5.0", "styles/tweaks/S605th.css");
myStyleTweaks.add("Series60/3.2", "styles/tweaks/S603rdFP2.css");
myStyleTweaks.add("AppleWebKit/420+", "styles/tweaks/S406th.css");
myStyleTweaks.add("N900", "styles/tweaks/maemo.css");
myStyleTweaks.add("Firefox/3.0a1 Tablet browser 0.3.7", "styles/tweaks/maemo.css");
myStyleTweaks.add("Opera Mini/4", "styles/tweaks/operamini.css");
myStyleTweaks.tweak();
}
addEvent("onload",init);
/script

在Apache错误日志中,我找到了这一行:

[client ip] File does not exist: /var/www/http:, referer: http://domain.com/search

注意文件文件名“http:”

它有时不响应500但200 OK但内容是空白的,直到我刷新几次 任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

检查服务器的错误日志,它可能包含有用的错误消息。不要忘记启用日志记录(PHP的log_errors = 1; ZF配置中的phpSettings.log_errors = 1)。

在有机会设置Content-Type标头之前,脚本似乎崩溃,因此浏览器不知道如何处理响应,这就是您看到下载对话框的原因。

答案 1 :(得分:0)

对不起,我发现那是APC模块导致的,我禁用了APC然后那些奇怪的错误消失了。