1

是否可以在 PHP 脚本中启动跟踪日志并激活调试日志。我不是在寻找 eclipse + xdebug,而是在寻找类似这样的用例:当脚本启动时,它会检查是否$_GET["debugme"]已设置。如果是,请说start_trace_log()。在脚本的其余部分之后发生的任何事情都应该被记录下来,例如

scriptA.php :10 包含(“anotherscript.php”)

anotherscript.php:1 foo()

...

目前,我必须为任何我有兴趣记录的脚本手动执行此操作,并且脚本必须在任何地方进行检查$_GET["debugme"],而不是简单地在此脚本运行中调试 ALL。偶尔检查脚本非常不舒服。

从起点到最后一行跟踪 php 脚本的任何更好的想法或舒适的方法?

4

3 回答 3

1

将此行添加到结尾或页脚脚本的末尾:
if(isset($_GET["debugme"]))debug_print_backtrace(); 这将打印在 script-path.php:linenumber 处调用的 #... function-name() 等详细信息。

不要忘记将调试功能限制为仅在开发系统上运行!

于 2012-06-18T20:59:41.433 回答
1

phptrace可能是更好的选择,因为您无需更改脚本,并且可以随时跟踪。

于 2015-01-07T07:59:51.933 回答
0

虽然我觉得在生产中使用它非常烦人,但你可以抛出这段代码:

if(isset($_GET['DEBUGME'])) {
    start_trace_log();
}

到一个文件中,然后将该文件添加到您的 PHP 中auto_prepend_file,以便它在每个 PHP 脚本的开头运行。

当然,这是假设您已经编码并包含start_trace_log(). 您还应该只在开发服务器上包含它。带有调试标志的脚本不应投入生产。

于 2012-06-18T13:04:58.743 回答