我知道有PHP調試工具可用,但我很好奇自己做這樣的事情。有沒有辦法從php獲取內部數據?
有沒有辦法獲得PHP正在處理的數據用於調試目的?例如,不必更改我的PHP應用程序的代碼,是否有某種方式,當我運行一個函數時,我可以看到該函數中存在哪些變量,什麼稱爲該函數,返回值是什麼等等?
的解決方案不明確並不需要在PHP,即這可能是用C語言編寫somethig等
我知道有PHP調試工具可用,但我很好奇自己做這樣的事情。有沒有辦法從php獲取內部數據?
有沒有辦法獲得PHP正在處理的數據用於調試目的?例如,不必更改我的PHP應用程序的代碼,是否有某種方式,當我運行一個函數時,我可以看到該函數中存在哪些變量,什麼稱爲該函數,返回值是什麼等等?
的解決方案不明確並不需要在PHP,即這可能是用C語言編寫somethig等
你可以使用一些內省功能,如debug_backtrace
,但這些只會讓你這麼遠。要收集任何類型的信息,您需要掛鉤到PHP本身,您最可能用C語言編寫的擴展插件。我建議您查看一下現有的調試器,看看它們是如何做的,例如xdebug。
那麼,我建議你看看你的代碼中加入firePHP。 FirePHP有2個組件,一個服務器端組件和一個Firefox瀏覽器組件,它使用了Firebug插件。一旦正確安裝,您可以執行諸如FB :: Log($ variable)之類的操作,並且您將在螢火蟲的日誌部分內看到這些信息,當您點擊它時,它會顯示整個變量。另外,如果您要安裝錯誤處理程序,則當您收到捕獲的異常時,您可以看到整個堆棧跟蹤如何調用此異常。
強烈推薦。
嘗試PHP XDebug的模塊 - http://xdebug.org/
ü可以登錄調試信息,
或輸出HTML
變化可能要求啓動Xdebug的
每個人都有那種忽略了一點,其中第一行我說:「我知道有PHP調試工具可用,但我很好奇自己做這樣的事情。」 - 無論如何,感謝您的反饋 – Tim 2010-11-11 01:24:27