网址参数的最大大小(以_GET为单位)

php
2022-08-30 11:31:52

我正在使用REST访问PHP服务器:所有数据都作为URL参数在GET请求中传递。其中一个参数到达query_string中的服务器,但它不在全局_GET。但是缩短参数(截止值似乎约为512个字符)可以让它通过。

假设我已正确诊断问题,有没有办法更改此最大大小?我没有在文档中找到任何解释,甚至没有提到这个限制。这是在 Debian squeeze / Apache 2.2.16 / PHP 5.3.3 上。


答案 1

好吧,似乎某些版本的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


答案 2

请参阅 URL 在不同浏览器中的最大长度是多少?

URL 的长度不能在 PHP 中更改。链接的问题是关于URL大小限制,您将找到所需的内容。


推荐