服务器端 GET 参数大小限制
在 PHP 中,使用 REST 访问服务器时,URL 参数传统上存储在 _GET 全局中。但是,用户可能会遇到这样的情况:特定 GET 参数尽管存在于查询字符串中,但并未出现在该全局中。截断参数长度通常可以解决此问题,这表明存在潜在的大小限制。
诊断和解决方案
此问题确实与某些 PHP 配置中的最大大小限制有关。使用 Suhosin 修补的 PHP 版本对 GET 参数施加了 512 个字符的默认限制。尽管浏览器和 Apache 支持更大的 URL,但此限制可能会阻止长参数的访问。
要克服此限制,请编辑 php.ini 配置文件并添加以下行:
suhosin.get.max_value_length = <limit>
替换 GET 参数所需的最大长度(以字节为单位)。此设置将增加允许的大小并使服务器能够处理更长的参数。
更多信息
需要注意的是,不建议使用过长的参数长度,因为可能会影响服务器性能并造成安全漏洞。为了获得最佳实践,请保持 GET 参数简洁并避免超出建议的限制。
以上是为什么 PHP 中缺少长 GET 参数,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!