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 :

PHP & Apache // Scripts s'arrêtant sans raison


Sujet :

Apache

  1. #1
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut PHP & Apache // Scripts s'arrêtant sans raison
    Bonjour à tous,

    Je reviens vers vous avec un souci PHP & Apache.

    Les pages PHP :
    - s'arrêtent des fois sans raison, sans arriver à la fin du script et sans afficher de message d'erreur
    - continuent de tourner dans le vide alors que tous les traitements qu'elles étaient sensées effectuer sont terminés avec succès

    Ceci peut arriver sur n'importe quel script, à n'importe quel moment, c'est complètement aléatoire.

    Pour info, le serveur est un RED HAT 10, si vous avez besoin de plus d'infos (versions PHP et Apache, différentes valeurs des fichiers php.ini ou httpd.conf), n'hésitez pas.

    D'avance merci.

    Marius

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

    parfois les erreurs peuvent s'afficher dans le code source html de ta page sans pour autant s'afficher sur la page même.

    Il serait interressant d'y jeter un oeil quand ton script s'arrête brutalement et de voir si une erreur s'affiche à ce niveau-là. tu peux aussi regarder dans l'error.log du serveur apache (/var/log/httpd/error_log sur Fedora).

    Tu peux enfin augmenter le niveau de logging d'erreur dans le fichier /etc/php.ini

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR
    ;
    ;   - Show all errors
    ;
    error_reporting  =  E_ALL
     
    ; Print out errors (as a part of the output).  For production web sites,
    ; you're strongly encouraged to turn this feature off, and use error logging
    ; instead (see below).  Keeping display_errors enabled on a production web site
    ; may reveal security information to end users, such as file paths on your Web
    ; server, your database schema or other information.
    display_errors = On
     
    ; Even when display_errors is on, errors that occur during PHP's startup
    ; sequence are not displayed.  It's strongly recommended to keep
    ; display_startup_errors off, except for when debugging.
    display_startup_errors = On
    Ne pas oublier de redémarrer le service apache si des modifications sont faites sur ce fichier.

  3. #3
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    merci pour la réponse mygale

    j'ai regardé le fichier error_log, il y a pas mal de warnings (mais la c'est "normal", c'est le code qui est en cause), et quelques lignes bizarres genre :

    [Fri Aug 29 18:28:07 2008] [notice] child pid 20136 exit signal Segmentation fault (11)
    FATAL: erealloc(): Unable to allocate 2097147882 bytes
    Mais ce qui m'interpelle, c'est qu'un même script peut se comporter des 3 manières différentes en 3 chargement :
    - tout va bien
    - le script s'arrête en plein chargement, sans aller au bout
    - le script finit son travail mais continue de mouliner

    Est ce que ça ne peut pas venir d'une config un peu "bizarre", ou d'une version bugguée de Apache ou PHP (ou encore d'une incompatibilité partielle d'un couple de versions Apache et PHP) ?

  4. #4
    Invité
    Invité(e)
    Par défaut
    Ou d'un problème d'optimisation de ton script:

    l'erreur fatal signfie que toute la mémoire est consommée par ton/tes scripts.

    Il faudrait déjà vérifier au niveau du code et le debugger pour voir si certaines parties de code provoqueraient des fuites mémoire.
    Dernière modification par Invité ; 01/09/2008 à 11h59.

  5. #5
    Membre à l'essai
    Inscrit en
    Septembre 2003
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 40
    Points : 20
    Points
    20
    Par défaut
    le truc, c'est que ca arrive sur tous les scripts, aléatoirement, même des pages très simples ... même OracleEditor.php (si tu connais)

    apparemment le code PHP n'est pas le plus propre que l'humanité ait connu, il va falloir que je le fasse corriger par le presta

  6. #6
    Membre habitué

    Profil pro
    Inscrit en
    Août 2005
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 118
    Points : 142
    Points
    142
    Par défaut
    Bonjour,
    En baissant le memory-limit tu auras des erreurs php et plus des segfault. C'est plus facile a déboguer

Discussions similaires

  1. Réponses: 3
    Dernier message: 28/10/2008, 10h46
  2. Arrêt d'Apache sans raison
    Par kippix dans le forum Apache
    Réponses: 3
    Dernier message: 29/01/2007, 20h05
  3. Problèmes de timeout pour un script PHP avec Apache
    Par bluemartini dans le forum Apache
    Réponses: 2
    Dernier message: 11/07/2006, 17h16
  4. Réponses: 6
    Dernier message: 23/05/2005, 09h33
  5. [PHP-JS] Php dans un script javascript
    Par nebule dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 30/11/2004, 11h38

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