PHP(Linux):列出已执行的文件


PHP (Linux): list files that have been executed

我正在调试在自定义框架中编写的相当复杂的PHP/AngularJS应用程序。文档几乎不存在,也没有明确的命名和文件夹约定。

对我来说,最大的挑战是找到在特定请求中执行了哪些文件。该应用程序有几种不同的自动加载方式,它有4500多个PHP文件。

是否可以在不修改应用程序代码的情况下找出执行了哪些文件?我正在运行Ubuntu 15.10。

如果没有,下一个最好的方法是什么?我知道get_included_files函数,但我认为它对我没有帮助。

提前谢谢。

假设您有一个专用的测试环境,那么请确保缓存过大,运行测试并查看操作码缓存中加载了什么。对于较新的PHP安装,对较旧的APC缓存使用opcache_get_status(),对使用APC_cache_info()

我不确定您是否可以在不修改应用程序代码的情况下找到这一点。

但我认为,对于PHP部分,如果你知道你的端点在哪里,debug_backtrace可能会有所帮助。有了它,你可以重现一个进程,比如异常堆栈。

另一个:您可以使用像xdebug这样的调试器,并在系统中使用一些制动点,这样您就可以看到应用程序的流程