尝试一段时间的功能然后放弃 - php

时间:2012-12-10 06:36:50

标签: php

我在我的php脚本中点击外部数据源,但是如果需要一段时间,我想放弃。有点像:

<?php

  try_for_500_ms {
    load_data_from_external_database();
  }
  catch_if_took_longer_than_500ms {
    echo 'Took too long to load data';
  }

换句话说,我希望它放弃尝试在一段时间后加载外部数据并继续脚本。任何想法如何实现这样的东西?提前谢谢。

1 个答案:

答案 0 :(得分:1)

假设您通过HTTP联系外部数据源,您只需设置您正在使用的任何HTTP库的超时选项。假设cURL,您将使用:

curl_setopt($c, CURLOPT_TIMEOUT_MS, 500);

其他API应该有类似的选项。

PHP中没有这样的语言结构。如果您的API没有类似的选项,那么您必须进入分叉过程并且父母在超时后杀死孩子。