2010-07-11 5 views
4

Existe-t-il une directive php.ini qui active les traces de pile sur les erreurs? J'ai déjà regardé ici: http://php.net/manual/en/ini.core.php. Mon hébergement partagé n'a pas Xdebug installé pour une raison quelconque. J'ai essayé de les mettre dans .htaccess:Existe-t-il une directive php.ini qui active les traces de pile sur les erreurs?

php_value track_erors On 
php_value report_zend_debug 1 

mais aucune trace de pile.

+4

« Mon partagé -hébergement n'a pas Xdebug installé pour une raison quelconque "- Probablement parce que leur service est conçu pour héberger des applications. Le développement devrait être fait dans votre PC local. Il n'est pas nécessaire de ralentir les sites en ligne avec des extensions de débogage. –

Répondre

7

Il y a debug_backtrace. Cela ne fonctionnera pas pour les erreurs fatales, car celles-ci ne peuvent pas être gérées.

Exemple:

<?php 
function exceptions_error_handler($severity, $message, $filename, $lineno) { 
    var_dump(debug_backtrace()); 
} 

set_error_handler('exceptions_error_handler'); 

function c() { 
echo $a; 
} 

c(); 

donne:

 
array 
    0 => 
    array 
     'file' => string '/tmp/cpu7HL5A' (length=13) 
     'line' => int 9 
     'function' => string 'exceptions_error_handler' (length=24) 
     'args' => 
     array 
      0 => &int 8 
      1 => &string 'Undefined variable: a' (length=21) 
      2 => &string '/tmp/cpu7HL5A' (length=13) 
      3 => &int 9 
      4 => & 
      array 
       empty 
    1 => 
    array 
     'file' => string '/tmp/cpu7HL5A' (length=13) 
     'line' => int 12 
     'function' => string 'c' (length=1) 
     'args' => 
     array 
      empty 
2

pas directement, mais vous pouvez appeler debug_backtrace() ou prendre vos erreurs et ont la classe d'exception de vidage sa trace de la pile avec exception::getTrace();

+1

Bien, mais cela s'applique aux exceptions, pas aux erreurs. Les erreurs peuvent être interceptées avec set_error_handler, mais cela ne fournit pas de trace de pile. – Benubird

Questions connexes