是否可以在PHP脚本中启动跟踪日志并激活调试日志。
我不是在寻找eclipse + xdebug,而是像这样的用例:
脚本启动时,会检查是否设置了$_GET["debugme"]
。如果是,请说start_trace_log()
。
之后在脚本的其余部分中发生的任何事情都应该被记录,例如,
scriptA.php:10 include(“anotherscript.php”)
anotherscript.php:1 foo()
...
目前,我必须为我有兴趣记录的任何脚本手动执行此操作,并且脚本必须检查$_GET["debugme"]
,而不是在此脚本运行中简单地调试ALL。对于偶尔检查脚本非常不舒服。
从开始点到最后一行跟踪php脚本有什么更好的想法或舒适的方法吗?
答案 0 :(得分:1)
将此行添加到结尾或页脚脚本的末尾:
if(isset($_GET["debugme"]))debug_print_backtrace();
这将打印详细信息,例如在script-path.php调用的#... function-name():linenumber。
不要忘记将debugme功能限制为仅在开发系统上运行!
答案 1 :(得分:1)
phptrace可能是更好的选择,因为您无需更改脚本,您可以随时跟踪。
答案 2 :(得分:0)
虽然在生产中使用它时发现它非常烦人,但你可以抛出这些代码:
if(isset($_GET['DEBUGME'])) {
start_trace_log();
}
进入一个文件,然后将该文件添加到PHP auto_prepend_file
中,以便它在每个PHP脚本的开头运行。
当然,假设您已编码并包含start_trace_log()
。您还应该只在开发服务器上包含它。带有调试标志的脚本不应该用于生产。