如果表单工作正常(现在仍然如此),但超过一定大小的文件在空的$ _FILES上失败。
我可以上传10Mb文件,60Mb甚至101MB,但我真正要上传的文件是120MB,上传只是因为空的$ _FILES而失败。
The php.ini are set:
file_uploads = On
post_max_size = 750M
upload_max_filesize = 500M
max_execution_time = 500
include_path = .:/usr/local/lib/php
auto_prepend_file = config.php
但最大的文件失败了。我已经读过我的/ tmp目录可能已满,但唯一的/ tmp目录与public_html在同一个目录中,除了awstats和webalizer之外,这个目录并不是很多。
任何帮助?
答案 0 :(得分:1)
检查此设置max_input_time
。它限制了脚本解析数据的时间。
答案 1 :(得分:1)
有人说你的memory_limit
也需要提出来。
应高于upload_max_filesize
。
如果您正在运行suhosin,还有一些选项:suhosin.memory_limit
,suhosin.post.max_value_length
此外还有max_input_time
选项。
也可能有一些代理如nginx或varnish阻止上传这么大的文件。
最后,Apache中有一个指令:LimitRequestBody
对于mod_fastcgi:FcgidMaxRequestLen
,FcgidConnectTimeout
您还可以尝试使用APC和一些AJAX驱动的进度条监控上传:http://www.phpriot.com/articles/php-ajax-file-uploads/3
答案 2 :(得分:0)
您是否在输入文件中使用“MAX_FILE_SIZE”隐藏字段上传html表单?
如果使用,请检查此问题。
答案 3 :(得分:-2)
在php.ini中设置这些:
upload_max_filesize = 10M
post_max_size = 10M
并检查
memory_limit
高于post_max_size