繁体   English   中英

浏览服务器上的应用程序时,如何记录访问哪些PHP文件和/或功能?

[英]can I log which PHP files and/or functions are accessed while browsing an application on my server?

因此,我有一个包含许多不同文件的php应用程序,代码有些混乱。

我要做的是在服务器上安装该应用程序,短暂使用它,尝试覆盖此处单击的所有功能,然后以某种方式获取一条日志,显示“已使用这些php文件”或“已访问这些功能”。

我不在乎函数参数,所需时间,每件事被调用多少次等。

我只想看看是否有函数或至少整个文件从未被调用过-因此它们已经死了。

我知道1)可以通过编辑每个文件并在调用或包含该文件时写一些东西来完成2)可能有静态工具尝试遵循所有代码路径等。

我对以上内容不感兴趣-我只需要一些东西,可能是php模块/调试器,我不确定,该日志记录了php请求/包含/运行的文件。 如果也可以追踪特定功能,那就更好了。 但是,即使只是文件也很棒。

听起来好像您在寻找xdebug之类的调试器,特别是此功能和此功能跟踪

这仅仅是获取正在使用的文件的列表。 将需要调试器来对项目进行性能分析。 还要将此答案引用类似的问题。

包含文件的列表将保存为文本文件。

在您的php.ini中,设置auto_prepend_file指向包含以下内容的文件。

<?php

function shutdown_file_output()
{
    file_put_contents( 'included_files.txt', implode( PHP_EOL, get_included_files() );
}

register_shutdown_function('shutdown_file_output');

PHP的debug_backtrace()函数可用于获取脚本执行的完整跟踪,包括调用的函数和参数。 如果您在脚本末尾调用此函数,并将输出记录到一个或多个文件中,则应该可以满足您的要求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM