Итак, у меня есть скрипт, который извлекает данные из удаленного 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;
}
Спасибо за помощь, Ара
2 ответа
Перейдите к файлу php.ini и выполните поиск по запросу max_execution_time. Я думаю, что по умолчанию должно быть 30 секунд. Вы можете изменить его на большее число. Однако будьте осторожны. Не указывайте большое число, потому что чем больше число, тем больше ресурсов будет использовать ваш сервер.
Попробуйте установить завиток, используя это:
curl_setopt($curl, CURLOPT_TIMEOUT_MS, 2000); //in milliseconds
Для получения дополнительной информации прочитайте это. или вы можете использовать
set_time_limit(90) // in seconds
Вы можете прочитать его здесь для получения дополнительной информации.
Похожие вопросы
Новые вопросы
php
PHP — это открытый, мультипарадигмальный, динамически типизированный и интерпретируемый язык сценариев, изначально разработанный для веб-разработки на стороне сервера. Используйте этот тег для вопросов о программировании на языке PHP.
php.ini
, изменив этотmax_execution_time=60