2

我对 Safari 5+ 有疑问。当客户端通过简单的 HTML 表单选择要上传的图像文件时,Safari 5.1 的 MAC 版本(迄今为止我发现的唯一一个这样做的浏览器)会无限期地挂起。

我在 php.ini 中正确设置了上传时间和大小,并且它在所有其他浏览器(FF、Opera 甚至 IE!)中都有效,所以我认为我在 HTML 或 PHP 中没有一些新手错误。

我搜索了许多帖子,发现了与此问题相关的错误报告(https://bugs.webkit.org/show_bug.cgi?id=5760)。我还发现了几个 Ajax 解决方法,但没有一个是合适的。我没有在此页面上使用 Ajax,实际上由于重定向,我无论如何都不想这样做。

有谁知道解决方案?

另外.... 像添加<? header('Connection: close'); ?>到文件这样的建议会使 Opera 的情况变得更糟。

编辑:2013 年 4 月 10 日 我仍然不明白为什么 Safari 会挂起一些图像上传。我正在进行此编辑以防有人遇到类似问题。顺便说一句,当 Safari 在 VirtualBox 中运行时,每次上传都会失败,这与 Firefox 或 IE 工作正常不同。(可能是设置问题?)

我发现这个变通方法很容易实现,并且到目前为止可以与我可以测试的所有主流浏览器一起使用。(来源: http: //www.atwebresults.com/php_ajax_image_upload/)但是最初的问题仍然存在。谢谢你。

4

1 回答 1

0

lighttpd 的解决方法:

$HTTP["useragent"] =~ "Safari" {
$HTTP["useragent"] !~ "Chrome" {
  server.max-keep-alive-requests = 0
}
}

Jamis Buck 发现了它,我添加了配置行。第二条规则避免将 keepalives 限制在也具有 Safari 子字符串的 Chrome 上。礼貌https://bugs.webkit.org/show_bug.cgi?id=5760

于 2014-06-20T20:07:01.943 回答