从默认值创建对象很糟糕,是的,但它通常会发出警告。我们尝试调整旧的和编写错误的代码,因此我们必须处理它。
我没有得到的是为什么突然(并随机)抛出异常并停止执行?我搜索一个新的错误处理程序或任何ini_set的定义,但我找不到。
apache 2.4.25上的Php版本是5.5.31
这样的消息时不时出现。
PHP Fatal error: Uncaught exception 'ErrorException'
with message 'Creating default object from empty value'
PHP Fatal error: Uncaught exception 'ErrorException'
with message 'array_key_exists() expects parameter 2 to be array, string given
答案 0 :(得分:0)
好的,我找到了。在函数write中,会话处理程序中有一个set_error_handler。
我确信它没有被激活,因为当脚本终止时会调用write()。
但是我最终发现一些脚本调用了session_write_close(),它触发了会话处理程序的write()函数,而你就是,警告变成了异常。
我希望它对任何有同样问题的人都有用。底线:如果警告成为异常,那么你必须有一个set_error_handler搞乱一些事情。