大型$_POST变量get';s被切断了


Large $_POST variable get's cut off

我通过POST向服务器发送一个大数组,但当我输出$_POST变量时,一些参数会被切断

echo '<pre>'.print_r($_POST , true).'</pre>';

似乎数组总是以相同的长度被截断,所以如果我在数组的开头添加元素,那么末尾的一个元素就会被移除。

这种情况只发生在某些服务器上,所以我想这是一个错误的设置或一些服务器限制。

post_max_size总是高于64mb,并且post甚至不接近该大小的

我该怎么绕过这个?

我在搜索中偶然发现了这个性质类似的问题。如果有人登陆这个页面,你可能也想看看Robinson先生的回答:

也可以尝试更改max_input_vars。更多信息:。

https://stackoverflow.com/a/12667018/11787139

您需要在php.ini中设置upload_max_filesize和post_max_size的值:

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M
; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

修改php.ini文件后,需要重新启动HTTP服务器才能使用新配置。

您也可以使用ini_set函数:

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');