我使用REST访问PHP服务器:所有数据都作为URL参数在GET请求中传递。其中一个参数在query_string中到达服务器,但它不在_GET全局中。但缩短参数(截止值似乎约为512个字符)可以让它通过。
假设我已正确诊断出问题,有没有办法改变这个最大尺寸?我没有在文档中找到任何解释,甚至没有提到这个限制。这是在Debian squeeze / Apache 2.2.16 / PHP 5.3.3。
答案 0 :(得分:67)
好吧,似乎某些版本的PHP限制了GET参数的长度:
请注意安装了suhosin补丁的PHP设置会有 get参数的默认限制为512个字符。虽然不好 实践中,大多数浏览器(包括IE)支持最高2000左右的URL 字符,而Apache的默认值为8000.
要使用suhosin添加对长参数的支持,请添加
中的suhosin.get.max_value_length = <limit>
php.ini
来源:http://www.php.net/manual/en/reserved.variables.get.php#101469
答案 1 :(得分:0)
请参阅What is the maximum length of a URL in different browsers?
在PHP中无法更改网址的长度。 链接的问题是关于URL大小限制,您将找到您想要的内容。