PHP / Apache / AJAX – POST限制?
我试图通过ajax(jQuery)发送200万个字符大(非二进制字符串)的POST数据,并且它始终在
PHP端显示为空白.这是我的代码:
var string = "<data string that is 2M chars long>"; $.ajax({ cache: false,type: 'POST',url: 'data.php',data: {'data_string': string} }); 在PHP方面,我收到以下错误消息(尝试从$_POST [‘data_string’]检索数据时): Notice: Undefined index: data_string in data.php on line ... 我检查了php.ini中的post_max_size,它设置为256M,这应该是足够的?我被困了,不知道我做错了什么 编辑:如果我将“string”的数据量少(例如var string =’test’),那么$_POST [“data_string”]会按预期的方式返回测试.所以我想知道是否有一些数据限制我在Apache2,PHP或浏览器本身?我正在使用Google Chrome 17.0.963.79 EDIT2:在php.ini中memory_limit = 256M EDIT3:php.ini中的max_input_time = -1 EDIT4:var_dump($_ POST)返回数组(0) EDIT5:运行最新的稳定版本的PHP5在debian挤压:PHP 5.3.3-7 squeeze8与Suhosin-Patch(cli)(建立:2012年2月10日14:12:26)
您必须检查您和服务器之间所有项目的限制参数.如果有代理服务器,很难,但至少可以检查:
阿帕奇: > LimitRequestBody,默认情况下约2Gb,64位可能更大,查看错误日志的详细信息. PHP: > post_max_size与POST大小直接相关 如果你已经达到了Apache的编译限制,你唯一的解决方案是避免直接的POSt这么大的数据量,你必须把它分成几块. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |