3

我正在使用 Apache 2.4 和 PHP 5.4。

我正在执行以下操作:

# retrieve caller name
$calledby = debug_backtrace(); print_r($calledby);
$caller = (strlen($calledby[1]['class'])) ? $calledby[1]['class'] : $calledby[0]['class'];
# arguments are required
if (!func_num_args()) { return; }
# fill variables with argument contents if exists
$variables = (func_num_args() == 0) ? NULL : (is_array(func_get_arg(0)) ? func_get_arg(0) : NULL);

从类的私有方法中。

如果我注释掉 $caller = 和 $variables = 行,那么它可以工作。

如果我将代码更改为以下代码,它也可以工作(按定义)

if (strlen($calledby[1]['class']))  $caller = $calledby[1]['class'];
else                                $caller = $calledby[0]['class'];

我应该提交错误报告还是我对新的 5.4 语法怪癖做错了什么?

提前致谢!

[更新] 我使用 CLI 执行了文件,脚本产生了预期的结果。

4

1 回答 1

0

我已经尝试使用 php 5.4 配置并且没有问题你应该看到 apache / php 日志

于 2012-05-03T14:44:22.127 回答