首頁 >後端開發 >php教程 >為什麼 PHP 中缺少長 GET 參數,如何修復?

為什麼 PHP 中缺少長 GET 參數,如何修復?

Patricia Arquette
Patricia Arquette原創
2024-12-23 14:22:13333瀏覽

Why Are My Long GET Parameters Missing in PHP, and How Can I Fix It?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn