理由:
IPv6 が有効な場合、curl はデフォルトで IPv6 の解析を優先します。対応するドメイン名に IPv6 がない場合、IPv6 DNS 解決の失敗タイムアウトを待ってから、前の通常のプロセスに従って IPv4 を見つけます。 。プログラムでは、curl がコンテンツを取得する際に厳密なタイムアウト制限を設定しているため、コンテンツが取得できない問題が発生します。
解決策: デフォルトのアクセスを ipv4 に設定します。
phpのcurl設定方法は以下の通りです:
注:curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4) 上記の設定は、PHP バージョン 5.3 以降およびcurl バージョン 7.10.8 以降でのみ有効です。