2010-09-14 59 views

回答

3

xdebug使用錯誤處理機制來顯示其堆棧跟蹤。如果你簽了XDebug來源,並期待在xdebug.c,你會看到這個就行801:

 if (XG(default_enable) && zend_hash_find(Z_ARRVAL_P(PG(http_globals)[TRACK_VARS_SERVER]), "HTTP_SOAPACT  ION", 16, (void**)&dummy) == FAILURE) { 
      zend_error_cb = new_error_cb; 
      zend_throw_exception_hook = xdebug_throw_exception_hook; 
     } 

xdebug_error_cb()(錯誤回調)和xdebug_throw_exception_hook()函數在另一個文件中定義,xdebug_stack.c,不顯得檢查任何配置設置,以查看堆棧跟蹤是否應該包含在日誌中,所以你唯一的選擇是在php中重寫這些函數,並使用set_error_handler()函數設置一個新的錯誤處理程序。 祝你好運!