2011-11-28 58 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()输出的,我相信。

相关问题