0
我有一个奇怪的行为与PHP脚本的一节(更确切地说是一个条件语句)。调试和执行不同PHP XDebug
当在XDebug(phpStorm)条件的确切行上使用断点时,脚本按预期执行。相反,当正常执行或在其他任何地方(括号之前或之内)破坏时,假定的真实条件被跳过。
if($interval > $maxCovering) //2 DateInterval objects - break here and it works
{
//Do something - never reached on standard execution
}
我试着在行前暂停执行,它没有帮助。此外,我做了一些研究,并就PHP的这个问题提出了空洞。
什么会导致这种行为,有哪些补救措施?
EDIT 这些都是典型的日志: “最大”和“间”是参数和“COMPAR”是比较 第2行是执行断点和最后2而不
打印两个变量的值以进行调试。也许使用和不使用断点之间的区别很明显。 – RhinoDevel
在比较之前,您是否尝试过将变量值记录到文件中?运行时的差异(特别是如果根本没有加载xdebug扩展)可以使整体不同(xdebug,即使你没有调试,但只是加载了扩展,使你的代码变得更慢) – LazyOne
@RhinoDevel谢谢你的提示!我发布了日志。 – user3311142