使用 PHP 上传大于 2GB 的文件

Uploading a file larger than 2GB using PHP(使用 PHP 上传大于 2GB 的文件)
本文介绍了使用 PHP 上传大于 2GB 的文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将大于 2GB 的文件上传到本地 PHP 5.3.4 服务器.我设置了以下服务器变量:

I'm trying to upload a file larger than 2GB to a local PHP 5.3.4 server. I've set the following server variables:

memory_limit = -1
post_max_size = 9G
upload_max_filesize = 5G

然而,在 error_log 中我发现:

However, in the error_log I found:

PHP 警告:2120909412 字节的 POST Content-Length 超出第 0 行未知中 1073741824 字节的限制

PHP Warning: POST Content-Length of 2120909412 bytes exceeds the limit of 1073741824 bytes in Unknown on line 0

谁能告诉我为什么这总是失败?

Can anyone tell me why this keeps failing please?

推荐答案

这可能来自 apache 对 POST 大小的限制:

Maybe this can come from apache limitations on POST size:

http://httpd.apache.org/docs/current/mod/core.html#limitrequestbody

在 64 位安装上,2Gb 的这个限制似乎可能更大.而且我不确定在这个指令中设置 0 不会达到编译限制.请参阅该线程的示例:

It seems this limitation on 2Gb can be greater on 64bits installations, maybe. And i'm not sure setting 0 in this directove does not reach the compilation limit. see for examples that thread:

http://ubuntuforums.org/archive/index.php/t-1385890.html

然后不要忘记更改 PHP 中的 max_input_time.

Then do not forget to alter as well the max_input_time in PHP.

但是您达到了很高的限制:-) 也许您可以在浏览器端尝试一个富客户端(flash?js?),以块或某种 FTP 方式进行传输,并为用户提供进度指示器.

But you are reaching high limits :-) maybe you could try a rich client (flash? js?) on the browser side, doing the transfer in chunks or some sort of FTP things, with progress indicators for the user.

这篇关于使用 PHP 上传大于 2GB 的文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)