PHP 7.0.2在出错时执行回溯

时间:2016-03-03 03:04:02

标签: php xdebug stack-trace

我在OS X El Capitan上运行PHP版本7.0.2,每次执行包含一些错误代码的PHP脚本时,它都会报告错误,然后似乎自动执行回溯。我不太确定这是否是PHP 7中的新功能,但我似乎无法在任何地方或其他遇到类似问题的人中找到它。

例如:

<?php
   echo $a;
?>

如果从CLI执行,将返回以下输出:

PHP Notice:  Undefined variable: a in /Path/to/file.php on line 2
PHP Stack trace:
PHP   1. {main}() /Path/to/file.php:0

Notice: Undefined variable: a in /Path/to/file.php on line 2

Call Stack:
    0.0002     350944   1. {main}() /Path/to/file.php:0

欢迎任何有关可能导致问题的原因的见解。 感谢。

2 个答案:

答案 0 :(得分:1)

我遇到的问题不在于PHP 7.0.2本身,而是在某种程度上被称为XDebug的扩展。用于高级错误报告的XDebug在我的另一个项目中引起了问题,并且通过禁用它,它似乎解决了我的问题。要禁用XDebug,您需要做的就是修改php.ini文件并将值debug.remote_autostart,debug.default_enable和debug.remote_enable从'on'更改为'off'。

答案 1 :(得分:0)

xdebug.default_enable=0添加到php.ini将阻止XDebug发送堆栈跟踪,而不会放弃分析和调试功能。