Parfois, il répond comme un charme, mais parfois j’ai eu l’erreur “Aucune donnée reçue”. J’ai cherché autour de moi mais rien n’a fonctionné. Les articles qui suggèrent l’utilisation de ” gdb
” pour déboguer le code apache des erreurs possibles, eh bien, je n’ai pas la chance de le tester avec gdb, car sur le serveur sur lequel je travaille, il n’y a pas de logiciels de développement (sauf python), et je ne peux pas les installer. Et l’autre moitié des messages suggèrent les solutions compatibles avec les serveurs Web fonctionnant avec PHP – je ne sais pas si cela fait une différence ou non.
Ma configuration httpd est comme ceci:
Apache/2.2.11 (Unix) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8b mod_jk/1.2.15 PHP/5.1.6 mod_wsgi/2.1-BRANCH Python/2.4.3 configured
J’utilise Django, et donc mod_wsgi. Existe-t-il un autre moyen de déboguer ce problème plutôt que d’utiliser gdb?
Notez que, dans les versions précédentes de mon application, je n’ai reçu aucune erreur comme celle-ci, jamais. Pour les nouvelles versions, je n’ai pas modifié la technologie, je viens de mettre à jour Django 1.3, j’ai commencé à utiliser ZSI 2.1 sur CentOS5.
Merci d’avance.
Comme l’a dit Graham-Dumpleton ci-dessus, il semble qu’il s’agisse d’un problème bien connu dans mod_wsgi
, à savoir la compatibilité des versions de la bibliothèque expat
.
La raison de l’échec (ainsi que les étapes pour le résoudre) sont décrites ici
Notez que cela ne s’applique qu’aux versions de Python antérieures à Python 2.5. A partir de Python 2.5, la copie de la bibliothèque “expat” intégrée à Python est préfixée par un espace de noms, évitant ainsi les conflits de noms avec une bibliothèque “expat” précédemment chargée.