Is there a php.ini directive that enables stack traces on errors?

后端 未结 2 1438
庸人自扰
庸人自扰 2020-12-21 04:12

Is there a php.ini directive that enables stack traces on errors? I already looked here: http://php.net/manual/en/ini.core.php. My shared-hosting does not have Xdebug inst

相关标签:
2条回答
  • 2020-12-21 04:26

    There's debug_backtrace. This won't work for fatal errors though, since those cannot be handled.

    Example:

    <?php
    function exceptions_error_handler($severity, $message, $filename, $lineno) { 
        var_dump(debug_backtrace());
    }
    
    set_error_handler('exceptions_error_handler');
    
    function c() {
    echo $a;
    }
    
    c();
    

    gives:

    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
    
    0 讨论(0)
  • 2020-12-21 04:37

    not directly but you can call debug_backtrace() OR catch your errors and have the exception class dump its stack trace with exception::getTrace();

    0 讨论(0)
提交回复
热议问题