语言异常。好奇的跳跃

时间:2014-04-14 13:15:47

标签: php

我有一段具有以下结构的代码。

if ( isset( $x) ){
     error_log("A");
     $a = f();
     error_log("B");
}
error_log("C");

错误日志包含条目

A
C

错误日志中没有其他条目。

我已将奇怪的行为缩小为API调用phpCAS::isAuthenticated(),phpCAS v1.3.2,f()内部。

此代码如何跳过对error_log("B")的调用?什么语言结构允许这个?

1 个答案:

答案 0 :(得分:0)

你确定你的日志' C'真的是这个吗?如果您的错误处理程序还没有此信息,您可以记录文件

如果所有三个日志都是那些日志,你确定你的代码真的那样吗?在调用f()之前或之后你有什么东西吗?

您可能有一些代码可以停用日志或更改处理程序,然后重新激活或重置旧处理程序。 您可以搜索" set_error_handler"," ini_set"," error_log" ...

等字符串

如果" f()"使用一些类实例,查看它们的类的构造函数和析构函数,而不仅仅是在特定方法中调用它们。