curl_exec最长执行时间

时间:2015-04-13 01:40:35

标签: php curl exec

好的,我有一个脚本从远程API中提取数据并将它们插入到我们自己的数据库中。问题是它对于前30-40个条目工作正常但在此之后我不断达到最大执行时间达到60秒。这是为什么?我的意思是它起初工作正常....

以下是代码:

    $handle = curl_init($url);
    curl_setopt($handle,  CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($handle, CURLOPT_SSL_VERIFYPEER, true);
    curl_setopt($handle, CURLOPT_SSL_VERIFYHOST, 2);
    curl_setopt($handle, CURLOPT_CAINFO, self::getCAcertsFilePath());
    $response = curl_exec($handle);
    $httpCode = curl_getinfo($handle, CURLINFO_HTTP_CODE);
    curl_close($handle);

    if($httpCode == 200){
        return $response;
    }
    else{
        $error_message = self::formatErrorCode($httpCode);
        flash()->error($error_message);
        return false;
    }

感谢您的帮助, ARA

2 个答案:

答案 0 :(得分:0)

转到php.ini文件并搜索 max_execution_time 。我认为默认值应该是30秒。您可以将其更改为更大的数字。但是要小心。不要输入大量数字,因为数字越大,服务器将使用的资源就越多。

答案 1 :(得分:0)

尝试使用此设置你的卷曲:

curl_setopt($curl, CURLOPT_TIMEOUT_MS, 2000); //in milliseconds

有关详细信息,请阅读this。 或者,您可以使用

set_time_limit(90) // in seconds

您可以在here中阅读它以获取更多信息。