Maison >développement back-end >tutoriel php >Pourquoi mes données AJAX POST dépassant 2 millions de caractères arrivent-elles vides côté PHP ?

Pourquoi mes données AJAX POST dépassant 2 millions de caractères arrivent-elles vides côté PHP ?

DDD
DDDoriginal
2024-11-04 01:40:30907parcourir

Why is my AJAX POST data exceeding 2 million characters arriving empty on the PHP side?

PHP/Apache/AJAX POST Limit

Lorsque vous essayez d'envoyer des données POST dépassant 2 millions de caractères via AJAX dans jQuery, vous pouvez rencontrer un problème où les données sont reçues comme vides du côté PHP. Cela est souvent dû aux limitations de divers composants du système.

Apache

Apache a un paramètre appelé LimitRequestBody, qui est défini par défaut sur environ 2 Go. Si la taille du POST dépasse cette limite, Apache rejettera la requête et aucune donnée ne sera reçue côté PHP. Consultez vos journaux d'erreurs Apache pour plus de détails.

PHP

PHP a plusieurs paramètres qui peuvent affecter la gestion des données POST :

  • post_max_size : Ceci détermine directement la taille maximale des données POST que PHP peut accepter. Définissez cette valeur sur une quantité appropriée, en vous assurant qu'elle est plus grande que les données que vous avez l'intention de publier.
  • upload_max_filesize : bien que cela ne soit peut-être pas lié, certains utilisateurs ont signalé avoir réussi en augmentant cette valeur.
  • max_input_time : si la requête POST prend trop de temps à se terminer, ce paramètre peut provoquer des problèmes. Définissez-le sur une valeur appropriée ou définissez-le sur -1 pour désactiver tout délai d'attente.
  • max_execution_time : bien qu'il soit peu probable que ce soit le coupable, il vaut la peine de s'assurer que cette valeur est suffisamment élevée pour traiter la requête POST volumineuse.
  • memory_limit : Si les données POST dépassent la limite de mémoire du processus PHP, cela peut causer des problèmes. Ajustez cette valeur si nécessaire.

Autres considérations

  • Vérifiez les limitations des serveurs proxy ou des équilibreurs de charge devant votre serveur.
  • Envisagez de diviser les données POST volumineuses en morceaux plus petits si la taille dépasse les limites du système.

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