在实现某些类时,我遇到了一个小问题:
如果脚本结束并且由于脚本完成而调用了destructors,则我想偶尔触发一个错误。
我以为 trigger_error()
函数会有用。但是,如果error_reporting(-1)
不再将触发的错误发送到STDOUT或STDERR-可以这样做(例如,如果不在脚本的__destructor/termination阶段内,则trigger_error会按预期工作)。
如果我回显某些消息,它将被发送到STDOUT(CLI模式)。
我现在想知道
注意:我测试了
connection_status()
,但是对我来说是没有用的,因为它只与连接处理有关,而与连接无关。我想知道是否有一些功能对脚本执行状态(启动,运行,退出)相同。简化示例代码
这是一些简化后的示例代码来说明此问题。自然只有在对对象有意义时才触发错误:
<?php
class TriggerTest
{
public function __destruct()
{
trigger_error('You should have missed something.');
}
}
$obj = new TriggerTest;
exit();
问题是,
trigger_error()
被执行了,但是错误没有出现在任何地方。
最佳答案
如果您强制将错误报告设置为特定设置,触发错误,然后将错误报告设置回其正常形式,该怎么办?
关于php - PHP如何在脚本关闭时使用对象析构函数中的trigger_error触发用户错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6227000/