【发布时间】:2011-11-30 02:57:39
【问题描述】:
我目前正在开发一个支持更大 上传(~50 Mb)的上传脚本,但我很快就遇到了问题!我正在使用带有表单的传统 POST 请求将文件上传到临时位置,然后使用 PHP 移动它。当然,我已经更新了我的 php.ini 文件,以支持比默认文件稍大的文件和 15 Mb 左右的文件上传非常好!
主要问题是由于我的托管公司。他们让脚本在 60 秒后超时,这意味着需要超过 60 秒才能完成的 POST 请求将在临时文件到达 PHP 脚本之前终止,这自然会产生内部服务器错误。
无法在服务器上设置超时(经过激烈的辩论)我正在考虑这些选项。有没有办法bump 请求或以某种方式刷新它以通知服务器并重置时间?或者是否有其他不超时的上传方法?
【问题讨论】:
-
我不知道 POST 提交是定时的并且是脚本超时的一部分,我从来没有遇到过这个问题,并且上传的文件超过了 300mb(私人应用程序)。
-
使用 PHP,任何与上传相关的设置都必须通过 php.ini 级别的设置(或在 httpd.conf/.htaccess 中覆盖)来完成。它们不能通过 ini_set 更改,因为上传必须在 PHP 开始执行您的代码以达到这些设置之前完成。没有使用基于 Flash/java 的客户端上传器对上传进行分块,您无需执行任何操作。
标签: php file-upload timeout http-post request-timed-out