PHP Timeout上的PHP运行函数

时间:2012-04-20 16:02:50

标签: php dll

我正在处理服务器发布给我们的脚本,我们发布到服务器,理论上应该从服务器接收响应并回复发布给我们的服务器。但是,有时我发布的服务器没有响应。最大的问题是发布给我们的服务器将认为交易成功通过,除非它听到其他情况。所以基本上我需要一种方法将响应发送回第一台服务器,如果我从没有收到我发布的服务器的回复。我认为register_shutdown_function可以为我工作,但我不知道如何设置它,所以它只运行错误或其他。

提前致谢

1 个答案:

答案 0 :(得分:1)

register_shutdown_function()应该适合你。只需使用全局变量来确定远程服务器是否响应:

<?php

  function on_shutdown () {
    if (!$GLOBALS['complete']) {
      // Handle server not responding here
    }
  }

  // Suppress "FATAL ERROR" message when time limit reached
  error_reporting(0);

  $complete = FALSE;

  register_shutdown_function('on_shutdown');

  // Code which posts to remote server here

  $complete = TRUE;

这意味着如果发布到远程服务器的代码没有完成,$complete仍将为false,因此您可以检查在关闭时触发的函数中$complete的真实性。< / p>