伺服器端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中文網其他相關文章!