首頁 >後端開發 >php教程 >`file_get_contents()` 是否有超時機制來防止過早連結跳過?

`file_get_contents()` 是否有超時機制來防止過早連結跳過?

Patricia Arquette
Patricia Arquette原創
2024-11-13 12:22:02596瀏覽

Does `file_get_contents()` Have a Timeout Mechanism to Prevent Premature Link Skipping?

file_get_contents() 是否有逾時機制?

使用 file_get_contents() 循環處理多個連結時,了解以下內容至關重要: PHP 的實作具有超時功能,以防止過早移動到下一個連結。

逾時時間:

是的,file_get_contents() 有一個由 default_socket_timeout 決定的逾時時間ini 設定。預設情況下,該值設定為 60 秒。

可調式逾時:

要修改預設超時設置,可以使用以下方法:

  • ini_set():
ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
  • stream_context_create():
$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()` 是否有超時機制來防止過早連結跳過?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn