Safari PHP表单提交-文件上传挂起


Safari PHP form submission -file upload hangs

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

我有我的上传时间和大小在PHP. ini设置正确,它适用于所有其他浏览器(FF, Opera甚至IE!),所以我不认为我有一些菜鸟错误在HTML或PHP。

我搜索了许多帖子,发现了一个与此问题相关的bug报告(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/)然而,最初的问题仍然存在。谢谢你。

lighttpd:

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

Jamis Buck发现了它,我添加了配置行。第二条规则避免将keepalive限制为Chrome,它也有Safari子字符串。图片来源:https://bugs.webkit.org/show_bug.cgi?id=5760