Gestion des erreurs en PHP

Gestion des erreurs en PHPA l’occasion de l’utilisation de WampServer, j’ai dû revoir sérieusement ma copie sur la gestion des erreurs en PHP.

Désactiver XDEBUG dans WampServer

WampServer embarque avec lui l’application XDEBUG. Pour que le PHP retrouve un comportement « normal » (un peu comme notre Président Pépère), vous devez la désactiver en éditant le fichier php.ini en commentant la ligne suivante :

;zend_extension = « c:/wamp/bin/php/php5.4.3/zend_ext/php_xdebug-2.2.0-5.4-vc9-x86_64.dll »

Les directives PHP de la gestion d’erreur

Le comportement du PHP en termes de gestion d’erreur se règle au travers du fichier php.ini (en hébergement dédié) ou du fichier .htaccess (pour tout type d’hébergement). A la racine de votre site Web, ajoutez au fichier .htaccess les directives suivantes :

php_flag display_errors Off
php_flag track_errors On
php_flag log_errors On
php_value error_log ./php_errors.log

L’intérêt de ce réglage est de disposer d’un fichier d’erreurs consigné dans le répertoire courant où s’exécutent vos différents scripts PHP.

Un peu de code PHP

L’instruction error_reporting(0) désactive l’affichage des messages d’erreur ! Sachez qu’elle fait double emploi avec la directive display_errors Off introduite dans le fichier .htaccess. Pour récupérer l’erreur, utilisez l’instruction error_get_last() ou $php_errormsg si vous avez activé préalablement la directive track_errors. L’instruction throw new Exception(‘…’) provoque l’exception qui sera interceptée dans le bloc catch{…}.

<?php
    error_reporting(0);
    try
    {
        $a=1/0;
        if(error_get_last())
        {
            throw new Exception(‘Division par zéro = la tête à toto !’);
        }
        //si track_errors à On
        /*
        if($php_errormsg)
        {
            throw new Exception(‘Division par zéro = la tête à toto !’);
        }   
         */         
    }
    catch(Exception $e)
    {
        echo $e->getCode().'<br/>’;
        echo $e->getMessage().'<br/>’;            
        echo $e->getLine().'<br/>’;            
        echo $e->getFile().'<br/>’;
    }      
?>

Références

Php / , ,

deneme bonusu veren siteler casino siteleri betdenemebonusu.com bahis siteleri Ev eşyası depolama Depolama Şehirlerarası evden eve nakliyat Evden eve nakliyat Eşya depolama yurtdışına ev taşıma Türkiye'den Almanya'ya ev taşıma zati eşya tasimaciligi uluslararasi zati eşya tasimaciligi eşya depolama şehirler arası nakliyat asansörlü nakliyat greatplay.net güvenilir online bahis siteler 2022 jetbahis Rexbet hovarda mobilbahis güncel adres sartsız Deneme Bonus sekabet maltcasino güncel adres> pinbahis100.com betduman.com olabahis.top سایت شرط بندی shartkade.com 1xbet-mobil.com beykoz evden eve nakliyat ataşehir evden eve nakliyat şişli evden eve nakliyat istanbul evden eve nakliyat
teens porn videos free sex xxx sexy videos