IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

HTTP/1.x 500 Internal Server Error inexplicable


Sujet :

Apache

  1. #1
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut HTTP/1.x 500 Internal Server Error inexplicable
    Bonne année 2010 !!

    Bien que pour moi, ça ne commence pas très fort

    Sans raison apparente, je n'arrive pas à accéder à ma page index.php d'un jour sur l'autre. Je ne comprends pas ce qui se passe.

    Appelons la page d'index.php comme ceci :
    Le serveur renvoie une erreur 500 mais Apache ne renvoie pas la page d'erreur correspondante au navigateur.

    A l'inverse, si j'essaie de me connecter sur une directory interdite par les directives Apache, le serveur renvoie bien l'erreur 403.

    Les logs d'Apache font bien apparaitre le code 500 :
    192.168.2.1 - - [01/Jan/2010:07:06:48 +0100] "GET /index.php HTTP/1.1" 500 26
    A l'inverse, j'accède bien à mon forum et à phpmyadmin dans le même domaine (en https) :
    Je n'y comprends plus rien. J'ai vérifié les logs, arrêter/démarrer Apache, rebooter la machine, rien à faire.

    Un spécialiste de compet' serait bien accueilli :-)

    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    es-tu sûr que tu as bien regardé dans les logs d'erreur (error_log) de ton serveur apache car généralement quand tu as un code d'erreur 500, la cause de cette erreur est indiquée dans le log cité précédemment.

    Est-ce que tu as défini des règles de réécriture par hasard?

  3. #3
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    Salut

    J'ai regardé dans access.log et error.log et je ne charge pas le module rewrite dans apache.conf (l'équivalent de httpd.conf pour mon systeme).

    Malheureusement, comme j'ai relancé apache, les logs ont été nettoyés:

    Les modules additionnels chargés par Apache.conf
    LoadModule php5_module modules/libphp5.so
    LoadModule headers_module /mnt/ext/opt/apache/modules/mod_headers.so
    LoadModule expires_module /mnt/ext/opt/apache/modules/mod_expires.so
    LoadModule ssl_module /mnt/ext/opt/apache/modules/mod_ssl.so
    sachant que je n'ai PAS TOUCHE apache.conf ni rien d'autre de la config entre "avant" et "après".

    Access.log
    127.0.0.1 - - [01/Jan/2010:15:00:01 +0100] "GET /cron/backup_local.php HTTP/1.0" 200 10
    192.168.2.1 - - [01/Jan/2010:21:43:42 +0100] "GET /index.php HTTP/1.1" 500 26
    192.168.2.1 - - [01/Jan/2010:21:43:49 +0100] "GET / HTTP/1.1" 500 26
    nota: La crontab lance un script via php-cli et il fonctionne.

    error.log
    [Fri Jan 01 21:43:42 2010] [debug] mod_headers.c(665): headers: ap_headers_output_filter()
    [Fri Jan 01 21:43:49 2010] [debug] mod_headers.c(665): headers: ap_headers_output_filter()
    J'ai peur de m'être fait hacké mon site mais je ne vois aucun changement dans les log et dans mes scripts entre hier et aujourd'hui.

    [edit]
    Si je créé un fichier test.html et que j'appelle la page via le navigateur http://mon_domaine.fr/test.html => le serveur renvoie HTTP 200 Ok

    Si je créé un fichier test.php et que je j'appelle la page via le navigateur http://mon_domaine.fr/test.php => le serveur renvoie HTTP 200 Ok

    Si je substitue mon index.php courant par une version ultra light et que je j'appelle la page via le navigateur http://mon_domaine.fr/index.php ou http://mon_domaine.fr/ => le serveur renvoie HTTP 200 Ok

    Si je substitue mon index.php courant par une version ultra light en html et que je j'appelle la page via le navigateur http://mon_domaine.fr/index.html ou http://mon_domaine.fr/ => le serveur renvoie HTTP 200 Ok

    Sachant que mon index.php original n'a pas changé d'un iota entre "avant" et "après" l'error 500. De plus en plus bizarre...

  4. #4
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    Bon apparemment, il y a une erreur dans une (vieille) fonction liée à la base de données. A priori , il y a une requete foireuse. En virant la dite fonction, tout rentre dans l'ordre. Il ne reste plus qu'à la debugger

    Cela dit, jamais je n'aurais pensé qu'une erreur de script (en fait une requete SQL) ne générerait aucune erreur php et encore moins qu'elle provoquerait un HTTP500 ...

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    L'erreur 500 est parfaitement logique : le traitement de la page n'a pas pu aller jusqu'au bout, c'est inattendu, donc erreur 500. Pour le manque de traces dans error_log, c'est le cas lorsque PHP est intégré à Apache en tant que CGI, pas en tant que module.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  6. #6
    Membre éclairé
    Avatar de hornetbzz
    Homme Profil pro
    Directeur commercial
    Inscrit en
    Octobre 2009
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France

    Informations professionnelles :
    Activité : Directeur commercial

    Informations forums :
    Inscription : Octobre 2009
    Messages : 482
    Points : 773
    Points
    773
    Par défaut
    Oui encore merci.

    Et pour la petite précision quant à mon erreur (oui je m'en veux et je vais m'auto-flageller au moins 3 fois)

    Si ce petit désagrément m'est arrivé, c'est que j'avais oublié que j'avais effectué qq légères modif de la config, hum.. :

    - en local ou localhost, pour debugguer, ça peut quand même bien aider de remettre le php.ini en version "locale" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    error_reporting  =  E_ALL
    display_errors = on
    display_startup_errors = on
    Bien sûr pour php.ini en version de prod, il faut remettre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    error_reporting  =  NULL
    display_errors = off
    display_startup_errors = off

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur HTTP 500 (Internal Server Error)
    Par niuxe dans le forum Apache
    Réponses: 2
    Dernier message: 11/07/2011, 19h53
  2. abort: HTTP Error 500: Internal Server Error
    Par cyberps2 dans le forum Autres DVCS
    Réponses: 1
    Dernier message: 14/10/2009, 11h59
  3. [CXF] RESTful HTTP Binding Demo : 500 Internal Server Error
    Par raf64flo dans le forum Services Web
    Réponses: 1
    Dernier message: 08/04/2009, 14h28
  4. [1.0.2] HTTP 500 Internal Server Error en faisant un save()
    Par Baptiste Wicht dans le forum Zend Framework
    Réponses: 9
    Dernier message: 09/10/2007, 14h10
  5. [SERVLET][STRUTS]Error 500--Internal Server Error
    Par Devil666 dans le forum Struts 1
    Réponses: 7
    Dernier message: 27/06/2005, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo