我正在使用 NAT 的虚拟机(debian lenny,up2date)内运行“Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch”,并且大约 60% 的任何 http 响应都得到了服务“为来自 smb 挂载目录(即来自 vm 主机)的请求提供服务时“不完整”。
我的问题是,我看不到任何失败时响应的模式,因为它们会旋转。但我可以看到,像 jquery ui 这样的一些请求总是在同一位置被截断(javascript 控制台报告语法错误)。
这是不完整响应的示例标头:
Date Fri, 04 Sep 2009 21:09:38 GMT
Server Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch
Last-Modified Sat, 20 Jun 2009 11:53:52 GMT
Etag "1810-2f074-46cc64b731400"
Accept-Ranges bytes
Content-Length 192628
Connection close
Content-Type application/javascript
启用 apache2 模组:
alias.conf authz_user.load dir.load php5.load
alias.load autoindex.conf env.load rewrite.load
auth_basic.load autoindex.load mime.conf setenvif.conf
authn_file.load cgi.load mime.load setenvif.load
authz_default.load deflate.conf negotiation.conf status.conf
authz_groupfile.load deflate.load negotiation.load status.load
authz_host.load dir.conf php5.conf
在我的特定项目中,只有 .js 和 .png 文件受到影响。“主要请求”总是加载正常。
更新:
apache2ctl -m
输出:
Loaded Modules:
core_module (static)
log_config_module (static)
logio_module (static)
mpm_prefork_module (static)
http_module (static)
so_module (static)
alias_module (shared)
auth_basic_module (shared)
authn_file_module (shared)
authz_default_module (shared)
authz_groupfile_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
cgi_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
mime_module (shared)
negotiation_module (shared)
php5_module (shared)
rewrite_module (shared)
setenvif_module (shared)
status_module (shared)
Syntax OK
在从 SMB 或 CIFS 挂载的共享中提供文件时,我已经看到了这一点。尝试使用以下命令关闭sendfile支持:
您可以在主服务器配置、
.htacces
文件或虚拟主机/目录块中执行此操作。好吧,我将文件从已安装的 Windows smb-share 切换到本地目录,现在可以正常工作了。我没有时间进一步调查,但我认为问题与 apache 本身无关。