PHP:上传大文件失败

时间:2010-11-02 23:46:41

标签: php post curl upload ini

我很困惑......我似乎无法上传2gb范围内的文件。当我尝试使用curl将1.92gb文件发送到我的网站(通过API)时,它根本不报告任何内容,它只是空白。当我发送一个1kb的文件时,它会报告回来。

当我尝试通过上传表单上传时,它会在中途结束,大约33%。虽然我不确定进度条是否已冻结,或者实际上传的文件是否已被暂停。我怀疑只有进度条冻结了,因为它仍然表示即使进度条冻结也会发送数据。

我的php.ini(是的,它也反映在phpinfo上):

register_globals = Off
magic_quotes_gpc = Off
post_max_size = 2047M
upload_max_filesize = 2047M
max_execution_time = 25200     ; Maximum execution time of each script, in seconds
max_input_time = 25200  ; Maximum amount of time each script may spend parsing request data
memory_limit = 2048M      ; Maximum amount of memory a script may consume (16MB)
short_open_tag = On 

我的vps实际上并没有2gb的RAM,但是memory_limit真的需要设置得这么高吗?

我该如何测试?我知道400mb文件有效,我没有在400mb到1.92gb之间测试任何东西

您需要一个高级帐户才能测试高达2gb,因此您可以使用以下帐户:

用户:testreferral

通过:1234

http://filefx.com

我不明白这个问题出在哪里。

2 个答案:

答案 0 :(得分:0)

检查:

  1. 内存限制。尝试上传实际内存限制之上和之下的文件。
  2. 时间限制。你上传的时间不是7个多小时,不是吗?
  3. 有效设置。某些设置可能会被服务器/ etc设置覆盖。

答案 1 :(得分:0)

PHP: mysql query skipped/ignored after large file uploads?

Mysql在文件上传期间超时。所以文件没有出现在DB