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 :

[Sécurité] gestion des erreurs


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut [Sécurité] gestion des erreurs
    Bonjour,

    j'aimerai savoir comment intercepter l'erreur "Fatal error: Maximum execution time of 30 seconds exceeded in ...", pour envoyer un message du type "Trop de résultats, veuillez réduire votre recherche"

    Merci d'avance.

  2. #2
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    Malheursement, je crois qu'on ne peux pas.

    Sinon regarde du coté de set_time_limit http://fr.php.net/manual/fr/function.set-time-limit.php

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Merci pour ta reponse. J'ai pour le moment contourné le problème. C'est pour ça que j'avais laissé le sujet en suspend...

  4. #4
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Salut,

    Tu peux mettre un message d'erreur en jouant sur le
    set_error_handler();
    et mettant un or trigger_error() ...

    Si ton pb est denouveau d'actualité je peux te donner un exemple ...

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    Ben, je veux bien un exemple!

  6. #6
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Alors voila comment moi je fonctionne :

    Dans un fichier fonction.php que j'inclus dans toutes mes pages j'ai :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    set_error_handler("myLog");
    // Les erreurs sont alors gérée par la fonction myLog au lieu d'être envoyée sur la sortie standard.
     
    // Gestionnaire d'erreurs
    function myLog($errno=-1, $errstr=-1, $errfile="ndef", $errline=-1)
    {
    	$contenu="";
    	$dateLog=date('Y-m-d');
      switch ($errno) {
    	  case E_USER_ERROR:
    		$contenu.= "ERROR; $errfile ; l:$errline ; $errstr ; [$errno] \n";
    		$ressource=fopen("log/$dateLog"."_BATCH.log","a+");
    		fwrite($ressource,"\r\n".date('Y-m-d_h:i:s')." ; ".$contenu);
    		fclose($ressource);
    		$trace=1;
    		break;
    	  case E_USER_WARNING:
    		$contenu.="WARNING; $errfile ; l:$errline ; $errstr ; [$errno] \n";
    		$trace=2;
    		break;
    	  case E_USER_NOTICE:
    		$contenu.="NOTICE; $errfile ; l:$errline ; $errstr ; [$errno] \n";
    		$trace=3;
    		break;
    	  default:
    		$contenu.="NDEF; $errfile ; l:$errline ; $errstr ; [$errno] \n";
    		$trace=4;
    		break;
      }
     
      		}
    }
    //
    Je lance ensuite mes fonctions en mettant des :

    maFunction(parametres) or trigger_error("Le message que je veux", E_USER_ERROR) par exemple ...

    Mais bon moi je met ca dans un fichier de log ... en le modifiant un tout petit peu tu peux l'afficher ... et virer les $err_____ qui me servent à recuperer la ligne, le fichier ...

  7. #7
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 14
    Points : 10
    Points
    10
    Par défaut
    merci Hisy!

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

Discussions similaires

  1. [FB] Gestion des erreurs et application francophone
    Par Benjamin GAGNEUX dans le forum Installation
    Réponses: 10
    Dernier message: 20/05/2006, 14h54
  2. [struts][Datasource]Gestion des erreurs
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 15/09/2004, 16h51
  3. [VB6] Gestion des erreurs dans une dll
    Par zimba-tm dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 02/08/2004, 11h20
  4. [XSLT]Est ce qu'il y'a la gestion des erreur en xslt ?
    Par miloud dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 04/02/2004, 17h19
  5. [LG]gestion des erreurs
    Par frontin dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2003, 22h41

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