我试图将一个相当大的帖子请求传递给php,当我的var_dump $ _POST数组时,丢失了一个最大的变量。 (实际上,base64编码的二进制上传作为发布请求的一部分)
有趣的是,在我的开发PC上,完全相同的请求被正确解析,没有任何遗漏变量。
我检查了服务器和开发PC上的php://输入的内容,它们完全相同,md5匹配。然而,开发PC识别所有变量,服务器错过一个。 我尝试在php.ini中更改许多不同的选项,并且没有效果。
也许有人会指出我是对的。 这是我的php://输入(~5兆字节)http://www.mediafire.com/?lp0uox53vhr35df
答案 0 :(得分:0)
由于Suhosin扩展,服务器可能阻止它。
http://www.hardened-php.net/suhosin/configuration.html#suhosin.post.max_value_length
suhosin.post.max_value_length
类型:整数默认值:65000定义变量的最大长度 通过POST请求注册的。
这必须在php.ini中进行更改。
请记住,这与Suhosin补丁不同,后者在很多共享主机上很常见。我不知道补丁是否会导致这个问题。