php 析构不执行,当PHP中的析构函数不被调用时,是否有任何实例?

>根据

manual,即使使用die()或exit()终止脚本,也会执行析构函数:

The destructor will be called even if script execution is stopped using exit(). Calling exit() in a destructor will prevent the remaining shutdown routines from executing.

>根据this SO question,当PHP的执行时间限制达到时,析构函数不会执行(在Apache 2上确认,Windows 7上是PHP 5.2).

>当脚本终止,因为达到内存限制,析构函数也不会被执行. (刚刚测试)

>析构函数确实执行了致命的错误(刚刚测试)更新:OP无法确认 – 似乎有一些致命的错误,事情是不同的

>它不会执行解析错误(因为整个脚本不会被解释)

>如果服务器进程崩溃或发生PHP控件中的其他异常,析构函数肯定不会被执行.

总而言之,它看起来很可靠.

除了在析构函数中进行清理以外的其他操作的缺点在于,您的选项在某种程度上是有限的.你不能再抛出异常(除了在析构函数中再次捕获它们),你不能输出任何错误消息,你不能真正依赖其他对象(如数据库接口)的存在. ….我在处理析构函数方面没有深入的经验,但我不知道你打算做什么是一个可行的想法.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值