PHP(またはそのサブシステム)は、IPv4にフォールバックして成功する前に、AAAAルックアップの取得を10秒間試行して要求を遅延させます。15以上のリクエストがあるため、この問題により、IPv6ルックアップが失敗するのを待つだけで150秒以上が費やされます。クライアントもリモートホストも、リンクローカル以外のIPv6設定はありません。
file_get_contents( $ipv4_address); # works in less than a second
file_get_contents( $fqdn_address); # takes ten–eleven seconds
私が見る唯一の実行可能な回避策はgethostbyname( $fqdn_address );
、ホスト名をに送信する前にホスト名を置き換えるために使用することfile_get_contents()
です。よりエレガントな解決策を望んでいます。
PS:これは共有ホスト上にあるので、サーバーの構成とセットアップを最小限に制御できます。