Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP可以检测服务器何时关闭吗?_Php_Shutdown - Fatal编程技术网

PHP可以检测服务器何时关闭吗?

PHP可以检测服务器何时关闭吗?,php,shutdown,Php,Shutdown,有这样一种情况: Wampserver正在运行 PHP脚本正在运行(设置时间限制(0),无休止的while循环) 服务器也由用户使用(例如,游戏PC) 假设用户想要关闭计算机,有没有办法在PHP中检测到这一点?因此,用户进入开始>关闭 如果没有,是否有简单的方法确保脚本不会出现问题?(就像两个查询都针对同一个对象而关闭?似乎就是您要查找的查询。但是,如果操作系统在关闭代码完全执行之前终止脚本,则无法在脚本中执行任何操作 如果没有,是否有简单的方法确保脚本不会出现问题?(就像两个查询都针对同一

有这样一种情况:

  • Wampserver正在运行
  • PHP脚本正在运行(设置时间限制(0),无休止的while循环)
  • 服务器也由用户使用(例如,游戏PC)
假设用户想要关闭计算机,有没有办法在PHP中检测到这一点?因此,用户进入开始>关闭

如果没有,是否有简单的方法确保脚本不会出现问题?(就像两个查询都针对同一个对象而关闭?

似乎就是您要查找的查询。但是,如果操作系统在关闭代码完全执行之前终止脚本,则无法在脚本中执行任何操作

如果没有,是否有简单的方法确保脚本不会出现问题?(就像两个查询都针对同一个对象而关闭?)

事务,但它们只确保数据没有损坏,而不是数据真正被写入

我的建议是:使用专用系统。

似乎就是您要寻找的系统。但是,如果操作系统在关闭代码完全执行之前终止脚本,则无法在脚本中执行任何操作

如果没有,是否有简单的方法确保脚本不会出现问题?(就像两个查询都针对同一个对象而关闭?)

事务,但它们只确保数据没有损坏,而不是数据真正被写入


我的建议是:使用专用系统。

当用户关闭计算机时,Windows会向应用程序发送事件。但是,用户仍然可以强制关闭并忽略任何请求阻止关闭的应用程序:

用户强制关闭的能力

在Windows XP中,用于阻止的UI 应用程序允许用户 取消关机或终止操作 阻止应用程序。如果随后 应用程序也会阻止关机 系统为每个用户显示相同的UI 阻止应用程序。这是 令许多用户感到沮丧的是 关闭“只是想要”他们的 关闭计算机

Windows Vista将通过以下方式解决此问题: 允许用户终止 阻止应用程序并使其关闭 “强制”在强制关闭时, Windows将发送应用程序 WM_查询与 ENDSESSION_临界标志。如果 应用程序响应错误,Windows 将继续关机,而不是 取消它,并将发送 应用程序WM_ENDSESSION。如果 响应请求时应用程序超时 WM_QUERYENDSESSION或WM_ENDSESSION, Windows将终止它

资料来源:


记住这一点,即使您收听了这些事件,也不能指望能够阻止关机。此外,如果用户在尝试插入数据时关机,您将无法执行任何操作。

当用户关闭计算机时,Windows会向应用程序发送事件。但是,用户仍然可以强制关闭并忽略任何请求阻止关闭的应用程序:

用户强制关闭的能力

在Windows XP中,用于阻止的UI 应用程序允许用户 取消关机或终止操作 阻止应用程序。如果随后 应用程序也会阻止关机 系统为每个用户显示相同的UI 阻止应用程序。这是 令许多用户感到沮丧的是 关闭“只是想要”他们的 关闭计算机

Windows Vista将通过以下方式解决此问题: 允许用户终止 阻止应用程序并使其关闭 “强制”在强制关闭时, Windows将发送应用程序 WM_查询与 ENDSESSION_临界标志。如果 应用程序响应错误,Windows 将继续关机,而不是 取消它,并将发送 应用程序WM_ENDSESSION。如果 响应请求时应用程序超时 WM_QUERYENDSESSION或WM_ENDSESSION, Windows将终止它

资料来源:

记住这一点,即使您收听了这些事件,也不能指望能够阻止关机。此外,如果它们在尝试执行数据插入时关闭,您将无法执行任何操作

假设用户想要关闭计算机,有没有办法在PHP中检测到这一点?因此,用户进入开始>关闭

Windows API允许进程注册在执行某些操作时发送给它们的事件。这些消息是为您正在寻找的案例发送的

但应用程序必须能够接收这些消息并及时对其作出反应。因此,如果您的脚本一直很忙,那么从技术上讲,它无法对这些脚本做出反应

您可以使用专门的库来接近WINAPI,尤其是PHP可能是另一个可以查看的地方

您可以在许多网站和microsoft主页(MSDN)上找到Windows消息文档

假设用户想要关闭计算机,有没有办法在PHP中检测到这一点?因此,用户进入开始>关闭

Windows API允许进程注册在执行某些操作时发送给它们的事件。这些消息是为您正在寻找的案例发送的

但应用程序必须能够接收这些消息并及时对其作出反应。因此,如果您的脚本一直很忙,那么从技术上讲,它无法对这些脚本做出反应

您可以使用专门的库来接近WINAPI,尤其是PHP可能是另一个可以查看的地方


您可以在许多网站和microsoft主页(MSDN)上找到Windows消息文档。

您可以将MySQL配置为在提交时刷新到磁盘,这样您就可以进行事务,确保数据被实际写入,因为RAID控制器(如果有的话)不会伪造消息。因此,交易不能确保这一点并非完全正确