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

Langage PHP Discussion :

[Système] [debug] Détection des erreurs de compil


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut [Système] [debug] Détection des erreurs de compil
    Bonjour à tous.

    Une question bête de débutant, car je n'avais jamais eu à me la poser jusqu'à présent... Depuis que je suis passé en PHP5, je n'obtiens plus certaines erreurs de compilation. Typiquement, si j'appelle une méthode qui n'a pas été définie, mon code plante silencieusement. Et je n'arrive pas à trouver l'option qui me permet de récupérer les messages d'erreur...

    NB : PHP5 sous Windows XP + serveur Apache en local.

  2. #2
    Membre actif
    Homme Profil pro
    Responsable d'une MOE bancaire
    Inscrit en
    Juillet 2003
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Responsable d'une MOE bancaire

    Informations forums :
    Inscription : Juillet 2003
    Messages : 261
    Points : 226
    Points
    226
    Par défaut
    t'as regardé si
    error_reporting = E_ALL
    dans php.ini?

  3. #3
    Membre éprouvé Avatar de Herode
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2005
    Messages
    825
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2005
    Messages : 825
    Points : 933
    Points
    933
    Par défaut
    Oui, ça c'est bon.
    Une précision supplémentaire s'impose peut-être : pour récupérer les erreurs de compilation dans un fichier log, j'ai écrit ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Le pistage des erreurs dans "init.php"
    require_once( dirname(__FILE__).'/../lib_ff/log/dbgLog.php' );
    $g_dbgLog = new HCDebugLog();
    set_error_handler( 'debugErrorHandler' );
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    // Le gestionnaire dans "dbgLog.php"
    function debugErrorHandler( $errno, $errstr, $script, $numLigne, $contexte = array() )
    { 
    	global $g_dbgLog;
    	return $g_dbgLog->errorHandler( $errno, $errstr, $script, $numLigne, $contexte ); 
    }
    Ce système fonctionnait... avant (sous PHP4). Mais peut-être ai-je commis une erreur que PHP5 ne laisse pas passer ????

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2003
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2003
    Messages : 217
    Points : 242
    Points
    242
    Par défaut
    En php, il n'y a pas de compilation...
    Ce sont des erreurs d'interprétation, non de compilation... :-/

    Je pense qu'il y a des incompatibilités descendantes (évidemment), mais aussi montantes, entre PHP4 et PHP5, ce qui est valide en PHP4 peut donc à mon avis ne pas l'être en PHP5.

    Edit : au passage, la directive error_reporting est normalement désactivée lors d'un appel à une fonction de gestion des erreurs...

    Edit 2 : PHP5 introduit le paramètre error_types dans la fonction set_error_handler, il faut donc lui donner le masque des erreurs à capter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set_error_handler( 'machin', 8191);

Discussions similaires

  1. Réponses: 5
    Dernier message: 06/09/2007, 10h49
  2. DoCmd.GoToRecord et détection des erreurs de saisie
    Par aba_tarn dans le forum VBA Access
    Réponses: 12
    Dernier message: 26/07/2007, 09h44
  3. Réponses: 10
    Dernier message: 09/10/2006, 16h52
  4. [3.0.2]Détection des erreurs dans le Package Explorer
    Par willowII dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 18/08/2005, 19h46

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