1

阅读一些答案,但从未找到与我的问题直接相关的内容。

我有一个 48 兆字节的 .csv 文件,我正在尝试上传和运行,以便客户可以进行大规模的产品更新/插入。我们偶尔可以让上传工作,但现在我的 Ajax 请求返回了 500 错误。以下是一些细节:

我们的服务器支持将最大上传文件大小设置为 100 兆字节。

我在脚本顶部使用以下 ini_sets:

set_time_limit(0);
ini_set("memory_limit",-1);
ini_set('max_execution_time', 0);

这就是我认为问题所在。由于我必须做大量的测试才能使这个脚本工作;我大概每天上传 10 次左右。这确实给服务器带来了压力,而且他们的网站目前每天也有大约 500 次访问。

每月带宽传输:12775.43 / 3000 MB

关于这个问题,我有什么想法可以反馈给我的老板吗?这有点需要今天完成,我仍在处理清理问题,但如果这是带宽问题,那么我们不能再次进行测试,直到明天服务器重置它的每月带宽。

感谢您的任何想法。

注意:这在过去有效。如果我做较小尺寸的文件,它也能正常工作,但客户端明确要求我们使用这个 48 兆字节的 .csv 文件。

再次注意:上传工具似乎在一定程度上工作,因为它发布并上传到我希望它发布到的文件夹。我认为的问题是,在花费 10 分钟上传和准备文件后,解析所有数据并超时。

另一组注释:以下是 500 Internal Server 问题:

服务器遇到内部错误或配置错误,无法完成您的请求。请联系服务器管理员 webmaster@ _ __ _ .com 并告知他们错误发生的时间,以及您所做的任何可能导致错误的事情。服务器错误日志中可能提供有关此错误的更多信息。此外,在尝试使用 ErrorDocument 处理请求时遇到 500 Internal Server Error 错误。

4

1 回答 1

1

也许这有任何帮助。

https://github.com/valums/file-uploader/issues/61

我已经测试了上传大文件(一个 20MB+ 的文件和 64MB 的 php 内存设置),并且从 PHP 中获得了一致的内存最大化错误,因为它将上传的 XHR 内容加载到 $HTTP_RAW_POST_DATA 中。尽管将 always_populate_raw_post_data 设置为 false,但它一直在这样做,并且由于文档在这个问题上有点稀疏,我在解决它时遇到了麻烦。事实证明,如果您将内容类型伪造为“multipart/form-data”,PHP 不会填充 $HTTP_RAW_POST_DATA(我尝试了其他内容类型,这是唯一似乎有效的内容类型),并且您可以上传大文件而无需点击低内存限制。至少在 Chrome 和 Firefox 中,二进制完整性得到了维护,这是我尝试过的。*

我在这里找到了它:

通过 php 输入处理上传时减少 PHP 中的内存消耗

于 2012-07-31T15:25:34.017 回答