2010-11-10 92 views
2

我知道有PHP調試工具可用,但我很好奇自己做這樣的事情。有沒有辦法從php獲取內部數據?

有沒有辦法獲得PHP正在處理的數據用於調試目的?例如,不必更改我的PHP應用程序的代碼,是否有某種方式,當我運行一個函數時,我可以看到該函數中存在哪些變量,什麼稱爲該函數,返回值是什麼等等?

的解決方案不明確並不需要在PHP,即這可能是用C語言編寫somethig等

+0

每個人都有那種忽略了一點,其中第一行我說:「我知道有PHP調試工具可用,但我很好奇自己做這樣的事情。」 - 無論如何,感謝您的反饋 – Tim 2010-11-11 01:24:27

回答

0

你可以使用一些內省功能,如debug_backtrace,但這些只會讓你這麼遠。要收集任何類型的信息,您需要掛鉤到PHP本身,您最可能用C語言編寫的擴展插件。我建議您查看一下現有的調試器,看看它們是如何做的,例如xdebug

1

那麼,我建議你看看你的代碼中加入firePHP。 FirePHP有2個組件,一個服務器端組件和一個Firefox瀏覽器組件,它使用了Firebug插件。一旦正確安裝,您可以執行諸如FB :: Log($ variable)之類的操作,並且您將在螢火蟲的日誌部分內看到這些信息,當您點擊它時,它會顯示整個變量。另外,如果您要安裝錯誤處理程序,則當您收到捕獲的異常時,您可以看到整個堆棧跟蹤如何調用此異常。

強烈推薦。

1

嘗試PHP XDebug的模塊 - http://xdebug.org/
ü可以登錄調試信息,
或輸出HTML

變化可能要求啓動Xdebug的

相關問題