在PHP5中,是否保证为每个对象实例调用__destruct()方法?程序中的异常是否可以防止这种情况发生?
是否存在不会调用此方法的情况?
我想在缓存对象被销毁之前将一个重要的变量存储到持久缓存中.这个变量在页面中多次使用,所以每次变量更改时我都不想用它来更新缓存...
PHP中是否有任何函数/全局变量返回脚本的当前状态(如runnning,终止)?
或者是通过利用来设置此状态的唯一方法register_shutdown_function()?
该函数看起来不灵活,因为已经注册的关闭函数可以用它覆盖.而当用户中止连接关机功能得到执行,这是不是我要找的明确,我不想引入太多的限制.
有没有其他register_shutdown_function()选择?或者如果没有,如何处理该功能的缺点?
UPDATE
只是为了澄清:我不是在寻找连接状态(例如connection_aborted()),而是寻找PHP脚本的运行状态(运行,终止).函数以了解有关我已经知道的连接状态的更多信息,但是脚本的当前状态如何?脚本是否已经被终止并且是因为那个而被销毁的对象?
UPDATE2
为了进一步澄清,我仍然没有寻找连接状态, 而是关于运行状态的可比性.它应该在CLI中工作,它没有任何连接状态,因为没有与执行代码相关的TCP连接 - 更好地说明我正在寻找什么.
当Apache即将退出时,有没有办法运行命令/方法?
我有一个使用 Xampp 在 Windows 中运行的应用程序(仅限本地使用),并且希望在用户结束此应用程序时执行某种清理方法,这发生在按下 Apache 的停止按钮时。
那么我可以使用 Xampp 或 apache 甚至 php 触发的任何类型的事件?并且命令可以来自 cmd、php 等。
OBS:必须是在 apache 关闭之前的东西,所以检查 Windows 进程列表不是一个选项。