Javascript 当您以Ajax形式上传大于2GB的文件时,PHP5.3.3中会出现错误
当您以Ajax格式上载大于2GB的文件时,这是一个错误 Javascript:Javascript 当您以Ajax形式上传大于2GB的文件时,PHP5.3.3中会出现错误,javascript,jquery,ajax,file-upload,php-5.3,Javascript,Jquery,Ajax,File Upload,Php 5.3,当您以Ajax格式上载大于2GB的文件时,这是一个错误 Javascript: $(document) .off("click", ".submit-button-selector") .on( "click", ".submit-button-selector", function(){ var form = $("#form"); var data = new FormData(form.get(0)); $.ajax(for
$(document)
.off("click", ".submit-button-selector")
.on( "click", ".submit-button-selector", function(){
var form = $("#form");
var data = new FormData(form.get(0));
$.ajax(form.attr("action"), {
async : true,
xhr : function()
{
XHR = $.ajaxSettings.xhr();
if(XHR.upload)
{
// ...
}
return XHR;
},
method : 'POST',
contentType : false,
processData : false,
data : data,
dataType : 'json',
success : function(response)
{
// ...
},
error : function()
{
// If the file is larger than 2GB, it be in this process.
alert("System Error");
}
});
});
服务器端PHP是64位的
服务器端没有错误日志
.htaccess
php_value upload_max_filesize 3012M
php_value post_max_size 3020M
php_value memory_limit 512M
php_value max_execution_time 1200
我想知道这个问题是服务器端还是客户端
这个脚本错了吗
或者,用这种方式在脚本中不可能有2GB或更多
或者,仅仅是服务器端问题之一
编辑: 这在我当地的环境中是可以的。(PHP 5.3.10) 但在其他web服务器上,它在PHP5.3.3中不起作用
$_FILES['file']['error'] ===> UPLOAD_ERR_INI_SIZE
$_FILES['file']['size'] ===> 0
echo phpinfo();
upload_max_filesize 3012M
post_max_size 3020M
memory_limit 512M
max_execution_time 1200
我已将文件大小设置为3GB,但这似乎是一个错误
在PHP5.3.3中不可能超过2GB
编辑: 我发送了一个2.1GB的文件,但PHP输出了一条警告消息(验证),表明它超过了3GB。(PHP 5.3.3) 即使提高了极限尺寸,结果也是一样的。 (实验:超过4GB…)
???事实上,这是一个完全不同的问题点…?这是一个服务器限制。通常,每个web服务器对请求大小都有一些限制,默认情况下通常是几兆字节。可能还有其他限制,例如,如果上载存储为文件,则文件系统可能无法创建比此更大的文件。谢谢。这不是客户端的问题。但是没有输出错误日志。。。我将检查服务器端。显示来自服务器的错误可能有助于查明原因:
错误:函数(xhr,stat,err){alert(stat+''+err);}
。区块上载可以帮助您绕过服务器端上载限制谢谢您的建议。我检查了服务器端。我添加了一个描述。
upload_max_filesize 4096M
post_max_size 4120M