1

我目前正在开发一个支持更大上传(~50 Mb)的上传脚本,我很快就遇到了问题!我正在使用带有表单的传统 POST 请求将文件上传到临时位置,然后使用 PHP 移动它。自然地,我更新了我的 php.ini 文件,以支持比默认文件稍大的文件和 15 Mb 左右的文件上传非常好!

主要问题是由于我的托管公司。他们让脚本在 60 秒后超时,这意味着需要超过 60 秒才能完成的 POST 请求将在临时文件到达 PHP 脚本之前终止,这自然会产生内部服务器错误。

无法在服务器上设置超时(经过激烈的辩论)我正在考虑这些选项。有没有办法碰撞请求或以某种方式刷新它以通知服务器并重置时间?或者是否有其他不超时的上传方法?

4

3 回答 3

0

您可以考虑几件事。每个都有成本,您需要确定哪个成本最低。

  1. 找一家新的托管公司。这可能是您最好的解决方案。

  2. 设计一个相当复杂的客户端系统,将上传分成多个块并通过 AJAX 提交。这很丑陋,尤其是因为它仅在绕过主机规则时才有用。

我真的会研究#1。

于 2011-10-03T17:57:17.033 回答
-1

好容易。到目前为止,您最简单的选择是抛弃头脑冷静的主机并选择一个真正让您高效的主机。我个人使用TSOHost - 和他们在一起已经一年半多了,到目前为止完全没有理由抱怨(甚至没有一点烦恼)。

于 2011-10-03T17:53:22.247 回答
-1

你真的确定这是超时问题吗?我的第一个想法...

  • 由于 Web 服务器 php.ini 文件中设置的配置限制,传输失败。您需要更改它或将其设置为脚本中的本地设置

    # 在配置使用的 php.ini 中找到它 memory_limit = 96M post_max_size = 64M upload_max_filesize = 64M

或者直接在你的脚本中

ini_set('memory_limit', '96M'); 
ini_set('post_max_size', '64M'); 
ini_set('upload_max_filesize', '64M');
于 2011-10-03T18:11:58.710 回答