ホームページ > バックエンド開発 > PHPチュートリアル > file_get_contents() 使用時のタイムアウト問題はどのように管理すればよいですか?

file_get_contents() 使用時のタイムアウト問題はどのように管理すればよいですか?

Barbara Streisand
リリース: 2024-11-13 14:19:02
オリジナル
765 人が閲覧しました

How can I manage timeout issues when using file_get_contents()?

file_get_contents() のタイムアウトに関する考慮事項

file_get_contents() を使用してリモート リンクからデータを取得する場合、そのタイムアウトの影響を考慮することが重要です。 。デフォルトでは、file_get_contents() は、PHP ini 設定のdefault_socket_timeout (デフォルトは 60 秒) からタイムアウト時間を継承します。取得操作がこの制限を超えると、リクエストは途中でタイムアウトになります。

デフォルトのタイムアウトを上書きする

デフォルトのタイムアウト設定を変更するには、主に次の 2 つの方法があります。

  1. ini 設定の変更: ini_set() を使用して、default_socket_timeout 値を調整します。例:

    ini_set('default_socket_timeout', 900); // 900 Seconds = 15 Minutes
    ログイン後にコピー
  2. ストリーム コンテキストの構成: stream_context_create() を使用してカスタム ストリーム コンテキストを定義し、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() 使用時のタイムアウト問題はどのように管理すればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート