Maison >développement back-end >tutoriel php >Pourquoi mes paramètres GET longs sont-ils manquants dans PHP et comment puis-je y remédier ?

Pourquoi mes paramètres GET longs sont-ils manquants dans PHP et comment puis-je y remédier ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-23 14:22:13269parcourir

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

Limites de taille des paramètres GET côté serveur

En PHP, lors de l'accès à un serveur à l'aide de REST, les paramètres d'URL sont traditionnellement stockés dans le fichier global _GET . Cependant, les utilisateurs peuvent rencontrer des situations dans lesquelles un paramètre GET particulier n'apparaît pas dans ce global, bien qu'il soit présent dans la chaîne de requête. Tronquer la longueur du paramètre résout souvent ce problème, suggérant une potentielle restriction de taille.

Diagnostic et solution

Ce problème est en effet lié à une limitation de taille maximale dans certaines configurations PHP . Les versions PHP patchées avec Suhosin imposent une limite par défaut de 512 caractères pour les paramètres GET. Bien que les navigateurs et Apache prennent en charge des URL plus volumineuses, cette restriction peut empêcher l'accès aux paramètres longs.

Pour surmonter cette limitation, modifiez le fichier de configuration php.ini et ajoutez la ligne suivante :

suhosin.get.max_value_length = <limit>

Remplacer avec la longueur maximale souhaitée pour les paramètres GET en octets. Ce paramètre augmentera la taille autorisée et permettra au serveur de traiter des paramètres plus longs.

Informations complémentaires

Il est important de noter que l'utilisation de longueurs de paramètres excessives n'est pas recommandée car elle peut avoir un impact sur les performances du serveur et créer des failles de sécurité. Pour les meilleures pratiques, gardez les paramètres GET concis et évitez de dépasser la limite recommandée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn