2011-11-28 26 views
3

[這是一個代碼覆蓋問題,只是我希望能在生產與精確定位,可以刪除代碼的目的使用它。]記錄哪些文件是執行的一部分? (包括所需,classloaded)

是否有可能以某種方式記錄哪些文件是PHP執行的一部分?也就是說,當一個文件作爲某個入口點執行的一部分加載時,是否有辦法記錄這個事實?也就是說,當文件被包含時,除了入口點php文件本身之外,還需要或加載作爲類加載的一部分? (類加載部分可能是最簡單的,因爲你可以自己處理類加載器)。

背景:我有一些遺留代碼 - 作爲清理工作,刪除不再使用的文件會很好。這個技巧會給我提供哪些文件正在使用的線索。長時間運行這個日誌記錄,你可以簡單地刪除所有未觸及的日誌。

「Level 2」:可能包含的文件實際上並未使用 - 即包含某些函數庫,但執行從未實際使用過任何函數。如何跟蹤這個? XDebug和其他相當侵入性的方式是唯一的選擇嗎?

回答

3

如果您正在尋找的文件包括: -

get_included_files(); 

http://php.net/manual/en/function.get-included-files.php

要跟蹤加載,Xdebug的應該是最好的選擇之類的列表。
APD : Advanced PHP debugger

看看apd_callstack,你可以在那裏找到一些驚喜。

+1

你可以使用[auto-append-file](http://www.php.net/manual/ini.core.php#ini.auto-append-file)將其添加到每個執行的腳本中包含的文件被記錄。這將是我能夠想象的最快和最簡單的方式來描述這一點。 –

0

你可以利用一些debug_backtrace()輸出的,我相信。

相關問題