首页 >后端开发 >php教程 >如何在'file_get_contents()”中配置循环链接超时?

如何在'file_get_contents()”中配置循环链接超时?

Barbara Streisand
Barbara Streisand原创
2024-11-28 19:05:10540浏览

How to Configure Timeouts in `file_get_contents()` for Looping Through Links?

file_get_contents() 中的超时设置

在循环中使用 file_get_contents() 从多个链接检索内容时,考虑潜在的可能性至关重要超时。

File_get_contents()超时时间:

是的,file_get_contents() 确实有一个由 default_socket_timeout ini 设置定义的默认超时时间,该时间设置为 60 秒(1 分钟)。这意味着,如果与远程资源建立连接的时间超过 60 秒,file_get_contents() 将超时。

自定义超时:

覆盖默认值超时,您可以使用以下方法方法:

  • ini_set():动态调整default_socket_timeout 设置。例如,要设置 15 分钟超时:
ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
  • stream_context_create():创建 HTTP 上下文并将超时指定为 HTTP 上下文选项:
$ctx = stream_context_create(array('http' =>
    array(
        'timeout' => 1200,  //1200 Seconds is 20 Minutes
    )
));

echo file_get_contents('http://example.com/', false, $ctx);

通过设置自定义超时,您可以确保file_get_contents() 在超时之前等待指定的时间。这使您可以更好地控制脚本的行为,并防止它过早地转到下一个链接。

以上是如何在'file_get_contents()”中配置循环链接超时?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn