Skip to main content Help Control Panel

 

support «   Archives support «  

[Réglé] Formulaire de contact

Je viens de faire des essais sur le formuaire de contact standard query.php et j'ai une erreur qui apparaît lorsque je ne suis pas authentifié:

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Erreur que je n'ai pas lorsque j'utilise le formulaire en mode authentifié.

Dans les 2 cas, je reçois un mail m'indiquant qu'une nouvelle requête (section spéciale) est disponible. Mais seul dans le cas authentifié, je reçois un mail de confirmation d'envoi alors que les 2 requêtes sont bien présentes sur le site.

Un "anonyme" pourrait alors croire que sa requête n'est pas passée. Problème local ou bug ?

De plus, j'ai coché le log pour agents/debug.txt mais celui-ci n'existe pas et ne se rempli pas lorsque je crée un debug.txt à 0.

Cela est-il vraiment un problème Yacs ou provient-il de mon hébergeur ?

PS: Les paramètres de messagerie sont remplis et l'erreur n'existe pas lorsqu'aucune config mail n'est utilisée (requêtes uniquement).
Bernard - on Apr. 15 2006
Et que dit le serveur Apache dans sa log d'erreur ?
GnapZ - on Apr. 15 2006
Bernard : Je ne trouve aucun log. Les seuls logs concernent les accès et le log d'erreurs est à 0.

J'ai regardé dans les logs du domaine et aussi ceux de l'utilisateur principal des domaines: rien.
  • Quel type de fichier dois-je chercher ?
  • Le serveur mail doit-il être saisi "www.domaine.com" ou "http://www.domaine.com", avec ou sans port ?


L'hébergeur me permet d'accéder à l'arborescence via FTP constituée comme ceci: - .ssh (vide) - .tmp (vide) - .usermin (config) - cgi-bin (vide) - etc (cherché ici, aucun log) - domaines (www/ des serveurs virtuels ici, on retrouve la même sous arborescence, rien trouvé) - homes (vide) - logs (cherché ici, uniquement des acces_log) - Maildir (vide) - php-fastcgi (4 fichiers inutilisés) - public_html (www/ du serveur principal ici, non utilisé) - svn (vide)

J'ai aussi un accès Usermin (avec accès shell, si je veux passer en mode commandes) et Webmin (configs mais aucun loag).

Une idée ? Ais-je bien paramétré mon Yacs ? - Serveur pour envoi: www.domaine.com - From: mon adresse sur le même serveur - To: la même adresse - Serveur pour Authentification: www.domaine.com - Compte & MdP: ceux de mon utilisateur principal.

Autre info: je ne reçois plus aucun mail des mises à jour des forums de Yacs. J'ai testé les adresses (envois à moi-même) et elles semblent toutes ok.
Bernard - on Apr. 15 2006
GnapZ: Je n'ai pas réussi à reproduire le pb, malheureusement. Ce genre de synptôme peut être lié à l'absence d'une fonction PHP appelée par YACS.

En changeant shared/global.php, essayer de commenter la ligne suivante

//error_reporting(E_ALL ^ (E_NOTICE | E_USER_NOTICE | E_WARNING));


Puis recommencer l'envoi d'un formulaire. un message apparait-il ?
GnapZ - on Apr. 15 2006
J'ai fait plein d'essais avec différents serveurs mail (Textdrive, Gmail, Yahoo) et différents comptes d'authentification et j'ai toujours la même erreur. Et ce sur les 4 Yacs en ligne. Résultat identique sans donner de nom de serveur d'envoi (utiliser php.ini).

Serait-il possible qu'il y ait un défaut de config PHP chez l'hébergeur (programme d'envoi mal configuré pour mon compte ou absent ou incompatible) ?

Y-a-t-il quelque chose à chercher dans Phpinfo() ? ou dans le PHP.INI de l'hébergeur (je n'en n'ai pas dans mon arborescence) ?

Ok, je teste ça tout de suite ...
Bernard - on Apr. 15 2006
GnapZ: le test d'envoi de mail est direct, il suffit de s'adresser un message à soi-même. Ceci indépendamment du formulaire de requête.
GnapZ - on Apr. 15 2006
Bernard : Non, rien de changé. JE ne pense pas que cela vienne de Yacs : 4 serveurs avec la même erreur dont je suis apparement le seul à avoir ?

Comment puis-je contrôler la config mail de mon hébergeur (Phpinfo(), Php.ini, commandes Usermin, Webmin ?

Pourquoi le résultat est-il le même avec Gmail ou Yahoo ? Cela semble bien être un problème de param PHP, non ?

J'ai remis le global.php à l'origine. De plus, l'erreur s'affiche en texte noir sur fond blanc dans une page vierge. Cela n'est pas affiché dans le skin Yacs.
GnapZ - on Apr. 15 2006
Bernard : Test d'envoi concluant, et par le formulaire aussi mais ça marchait déjà en mode Authentifié. C'est en mode anonyme que ça ne marche pas avec le formulaire (les anonymes n'ont pas accès aux mails des membres).
Bernard - on Apr. 15 2006
GnapZ: donc c'est pas lié à l'envoi de mail lui-même; il doit y avoir un autre appel de fonction avant qui gène.

Pour débugger, placer des appels dans le source comme suit

logger::debug($message);

Ou alors, pour suivre une variable, utiliser logger::debug($variable, $label);

Barder le code de ce genre de truc, puis lancer le test, puis regarder le fichier agents/debug.txt.

C'est ce que j'utilise moi-même dans les phases de mise au point...
GnapZ - on Apr. 15 2006
Bernard : Précisions: je reçois bien l'avis de notification comme quoi un anonyme a créé une requête. Cette requête est bien présente dans la section spéciale "Requêtes" mais l'émetteur n'a pas confirmation par mail et a ce message d'erreur. Il ne sait donc jamais si sa requête est prise en compte. Cela me gêne surtout sur le site de l'association où les requêtes anonymes risquent d'êtres utilisées.
Bernard - on Apr. 15 2006
GnapZ: ce qui est curieux c'est que le message au requêteur est envoyé avant le message vers les admins. Un problème sur le premier envoi devrait empécher le second non ?
GnapZ - on Apr. 15 2006
Bernard : Mes envois sont constitués d'une adresse e-mail, d'une intro "test" et d'un contenu "test" avec ## un nombre incrémenté.

Tu me fais penser que je ne remplis jamais le pseudo et laisse l'adresse IP, aurait-ce une influence ?

Chez Textdrive, je n'utilise que des redirections vers Gmail. Mais dans le cas où cela viendrait de Textdrive, pourquoi ça ne marche pas avec Gmail ou Yahoo ? Le message semble bien venir de Textdrive.

Je n'ai d'ailleurs plus aucune notification des mail de Yacs (ici), même en ayant changé de mail dans mon profil.

Je continue ...
GnapZ - on Apr. 15 2006
Hé bien non, rien n'y fait. Aucune info intéressante dans debug.txt, tout est à sa place.

Raz le bol pour aujourd'hui, je vais faire autre chose et reprendrai demain.
GnapZ - on Apr. 16 2006
Tiens, je viens de recevoir une notification d'un sujet. Ca faisait longtemps ... allons voir si Textdrive n'aurait pas vu toutes les erreurs de mail et aurait modifié quelque chose ... en attendant je persiste mais en local cette fois. Même erreur sauf que je n'ai pas de serveur mail (est-ce nécessaire ?) et que j'utilise les mêmes paramètres qu'en ligne (pleins à tester).
GnapZ - on Apr. 16 2006
Got it !

C'est effectivement un bug du query.php mais alors personne d'autre n'a rempli le formulaire par défaut en mode anonyme ? Ou le problème concerne ma config mail ?

Bref, ça marche en local. Je vérifie en ligne et je vous fait un patch.
GnapZ - on Apr. 16 2006
Patch Done: [file=86], Enjoy !

Bernard: Il s'agissait d'une utilisation "abusive" de la variable "user_address" du type $A = "coucou " + $A alors qu'elle est utilisée à nouveau pour l'envoi du mail de confirmation.

Cela avait pour conséquence l'envoi d'un mail dont l'adresse incluait à chaque extrémité le BBcode destiné aux associés "[ hidden ]", d'où le message d'erreur.

J'ai simplement remplacé l'utilisation de cette variable par la création d'une autre "Saddress" (Surfer Address), lignes 150 et 156 afin d'éviter de trop modifier. Cela ne concerne que l'affichage et n'a pas d'autres conséquences (vérifié On Line et validé au bout de 47 essais !)

Ca venait donc bien de Yacs mais je suis encore étonné d'être le seul à être concerné. Merci de ton aide pour la recherche "debug.txt" .

Textdrive n'était donc pas en question (les autres non plus) mais seuls les tests en local m'ont permis de cibler une erreur interne ... comme quoi, on (je) cherche souvent compliqué.