ホームページ >バックエンド開発 >PHPチュートリアル >PHPのcurlタイムアウト問題について

PHPのcurlタイムアウト問題について

WBOY
WBOYオリジナル
2016-06-23 13:08:321262ブラウズ

私は、curl を使用して戻りステータスを取得するための get コードを記述しました

function http_get_code($url){    $curl = curl_init();    curl_setopt($curl, CURLOPT_URL, $url);    curl_setopt($curl, CURLOPT_HEADER, 1);    curl_setopt($curl, CURLOPT_TIMEOUT,60);     curl_setopt($curl,CURLOPT_NOBODY,true);    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);    $data = curl_exec($curl);    $recode=curl_getinfo($curl,CURLINFO_HTTP_CODE);    curl_close($curl);    return $recode;}

明らかにタイムアウトは 1 秒に設定されていますが、curl_exec に対してポート 80 を開いていない Web サイトを実行すると、最大実行時間 30 が報告されます。エラーで秒を超えました。なぜですか?


ディスカッションへの返信 (解決策)

http://blog.csdn.net/henriezhang/article/details/38308413

それは明らかにcurl setopですt($curl, CURLOPT_TIMEOUT, 60) ;
たった 1 秒です

60 秒、1 分に設定しました。

あなたの質問では、サーバーは php の最大実行時間を 30 秒に設定しています。次のステートメントで変更できます。
php ファイルに
ini_set('max_execution_time', '300'); を追加します。 300 秒

または php .ini を変更
max_execution_time = 300

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:PHP 1 の基本次の記事:PHP 1 の基本