首页 >后端开发 >php教程 >我可以增加 file_get_contents() 的超时时间吗?

我可以增加 file_get_contents() 的超时时间吗?

DDD
DDD原创
2024-11-17 09:31:04583浏览

Can I Increase the Timeout in file_get_contents()?

file_get_contents() 中的超时

此查询解决了使用 file_get_contents() 从 a 中的一系列链接获取数据时有关超时的问题。循环,其中每个链接的处理时间可能明显超过 15 分钟。

file_get_contents() 有超时设置吗?

是的,file_get_contents() 有默认值由 PHP 配置选项 default_socket_timeout 指定的超时。此选项的默认值为 60 秒(1 分钟)。

如何调整超时时间?

您可以使用以下任意方法修改超时时间:

  • 使用ini_set:
ini_set('default_socket_timeout', 900); // 900 seconds (15 minutes)
  • 使用stream_context_create:
$ctx = stream_context_create([
    'http' => [
        'timeout' => 1200, // 1200 seconds (20 minutes)
    ]
]);

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

注意:需要注意的是,这些超时设置适用于连接和通信过程,而不是远程服务器的文件处理时间。

以上是我可以增加 file_get_contents() 的超时时间吗?的详细内容。更多信息请关注PHP中文网其他相关文章!

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