2017-08-20 1 views
1

J'essaie de configurer Whoops sur une application Codeigniter 3.Codeigniter + Whoops

J'ai installé avec le compositeur et Whoops appeler comme ceci:

use Whoops\Handler\PrettyPageHandler; 
if (ENVIRONMENT == 'development') { 
    $whoops = new \Whoops\Run; 
    $whoops->pushHandler(new Whoops\Handler\PrettyPageHandler()); 
    $whoops->register(); 

    $handler = new PrettyPageHandler; 
    $handler->setEditor('sublime'); 
} 

Il fonctionne pour les avertissements, les avis et les erreurs déconseillés, mais pas pour les erreurs fatales. CodeIgniter semble les manipuler avant Oops. Y at-il un moyen de modifier ce comportement?

Répondre

1

Je l'ai travail en déplaçant le « Whoops Run » dans mon fichier index.php, juste après avoir défini mes paramètres environnement de développement et de rapports d'erreur (autour de la ligne 70 dans le fichier index.php CI):

/* 
*--------------------------------------------------------------- 
* ERROR REPORTING 
*--------------------------------------------------------------- 
* 
* Different environments will require different levels of error reporting. 
* By default development will show errors but testing and live will hide them. 
* 2017-08-21: Adding Whoops profiler 
*/ 
use Whoops\Handler\PrettyPageHandler; 
switch (ENVIRONMENT) 
{ 
    case 'development': 
    case 'staging': 
     error_reporting(-1); 
     ini_set('display_errors', 1); 
     error_reporting(E_ALL^E_WARNING^E_USER_WARNING^E_NOTICE^E_DEPRECATED); 
     $whoops = new \Whoops\Run; 
     $whoops->pushHandler(new Whoops\Handler\PrettyPageHandler()); 
     $whoops->register(); 
    break; 

    case 'testing': 
    case 'production': 
     ini_set('display_errors', 0); 
     if (version_compare(PHP_VERSION, '5.3', '>=')) 
     { 
      error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT & ~E_USER_NOTICE & ~E_USER_DEPRECATED); 
     } 
     else 
     { 
      error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE); 
     } 
    break; 

    default: 
     header('HTTP/1.1 503 Service Unavailable.', TRUE, 503); 
     echo 'The application environment is not set correctly.'; 
     exit(1); // EXIT_ERROR 
} 

Un commentaire en this Github Whoops issue m'a averti!