0

我在我的 php 脚本中点击了外部数据源,但如果需要一段时间,我想放弃。类似于以下内容:

<?php

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

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

4

1 回答 1

1

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

curl_setopt($c, CURLOPT_TIMEOUT_MS, 500);

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

PHP 中没有这样的语言结构。如果您的 API 没有类似的选项,则您必须进入 fork 进程,并且父母会在一段时间后杀死孩子。

于 2012-12-10T07:10:51.570 回答