Aller au contenu

Script PHP ne marche qu'avec l'ajout d'echo...


Sujets conseillés

Posté

Bonjour,

voila le problème: Je développe un site en php qui fonctionne très bien sur la majorité des navigateurs et des types de machines.

Cependant, en utilisant une connexion 3G, le script plante et renvoi une erreur 500, avec HTTP_REQUEST_TOO_LONG. En cherchant le problème, j'ai ajouté dans mon script des echos et des prints de variables. Et là, surprise, le script fonctionne. J'ai finalement remplacé mes echos de variables par un echo " "; et ça fonctionne. Mais du coup le script ne fonctionne plus correctement sur les autres postes.

Est-ce que quelqu'un a déjà rencontré ce problème? et à quoi c'est dû?

J'ai pensé au départ à un problème de temps d'exécution du script, le echo rajoutant quelques millième de secondes, mais pourquoi cela marche d'un coté dans un cas, et pas dans l'autre dans l'autre cas?

Je ne comprends pas ce qui se passe..

Merci d'avance pour vos lumières!

Posté (modifié)

Salut,

Sauf erreur, HTTP request too long ça veut normalement dire que l'URL est trop longue (mais ça devrait être un erreur 414, pas 500). Tu ne dois la voir que dans ce cas que parce qu'il doit y avoir un proxy transparent qui a un réglage d'URL max plus petit que ton serveur.

Si c'est effectivement ça, en général ça vient de l'utilisation d'un form avec trop de variables ou des variables trop longues (par exemple un textarea...). Dans ce cas il convient d'utiliser un POST plutôt qu'un GET (qui sera de toutes façons probablement plus juste sémantiquement). Sinon il faut chercher les URLs un peu longues et les raccourcir d'une façon ou d'une autre.

EDIT: par contre je n'ai aucune idée de pourquoi ça marcherait avec les echo en plus ou pas. C'est peut-être le signe que le message d'erreur n'a rien à voir. Il faudrait d'ailleurs déjà déterminer (en regardant les logs) si c'est ton serveur web qui se plaint ou quelque chose sur le chemin (proxy transparent etc.).

Jacques.

Modifié par jcaron
Posté

Hello,

les connexions 3G d'Orange passent effectivement par un proxy, il y a donc de fortes chances pour que jcaron soit dans le vrai.

Posté

Bonjour à vous!

Tout d'abord, merci pour vos réponses rapides!

Pour les URL trop longues, il est étrange que ça passe quand je rajoute un echo... mais pour cette question j'avoue n'y rien comprendre. Cela dit les informations envoyés ne contiennent pas de chaîne très longues. Par exemple au moment de s'enregistrer sur le site, je n'envoie qu'un mot de passe et un login. Dans ce cas précis, la page d'erreur ne renvoi pas de log sur le serveur.

Je vais me renseigner sur l'idée que le Proxy Orange peut être en cause, puisque a priori cela marche partout ailleurs.

(pour les echo vide qui font fonctionner le script d'un côté mais plus de l'autre, je crois que cela va rester un mystère...)

Je vous tient au courant si nous trouvons la solution.

Encore merci !

Posté

Bonjour,

Il ne s'agit pas d'un problème lié au proxi car orange permet de le désactiver et c'est ce que nous avons fait. Cela ne change rien, peut-être plus rapide mais toujours les même bugs...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...