ホームページ >バックエンド開発 >PHPチュートリアル >PHP で長い GET パラメータが見つからないのはなぜですか? どうすれば修正できますか?

PHP で長い GET パラメータが見つからないのはなぜですか? どうすれば修正できますか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-23 14:22:13274ブラウズ

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。