3
最親密的PHP人員,有沒有辦法讓Xdebug在屏幕上顯示整個堆棧,但不會將它寫入錯誤日誌?我只喜歡日誌文件本身的實際錯誤行,但我想在屏幕上看到堆棧。PHP&Xdebug:不會將堆棧寫入錯誤日誌?
最親密的PHP人員,有沒有辦法讓Xdebug在屏幕上顯示整個堆棧,但不會將它寫入錯誤日誌?我只喜歡日誌文件本身的實際錯誤行,但我想在屏幕上看到堆棧。PHP&Xdebug:不會將堆棧寫入錯誤日誌?
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()
函數設置一個新的錯誤處理程序。 祝你好運!