在 php 中,有没有办法跟踪变量?

In php , is there a way to trace a variable?

我在一个大 php 脚本中有这个变量,我想追溯到 where/when 以及它实例化的值。是否有 function/api 或调试技术可以做到这一点?

您可以使用 debug_print_backtrace() 函数。 http://php.net/manual/en/function.debug-print-backtrace.php

<?php


function f1() {
    f2();
}

function f2() {
    f3();
}

function f3(){
    echo "<pre>";
    debug_print_backtrace();
    echo "</pre>";
}

f1();

?>

输出:

#0  f3() called at [/home/xfiddlec/public_html/main/code_47406510.php:9]
#1  f2() called at [/home/xfiddlec/public_html/main/code_47406510.php:5]
#2  f1() called at [/home/xfiddlec/public_html/main/code_47406510.php:18]

如果您使用的是 PHPStorm,则可以设置断点并检查变量的值。

http://blog.jetbrains.com/phpstorm/2013/12/just-in-time-debugging-and-php-exception-breakpoints-with-phpstorm-and-xdebug/

您还需要安装 xdebug。