Запрос в PHP с использованием API v2.4
Когда я пытаюсь загрузить видео с помощью класса AdVideo, как показано ниже,
$time_limit = ini_get('max_execution_time');
set_time_limit(0);
$video = new AdVideo(null, $account_id);
$video->{AdVideoFields::NAME} = *name*;
$video->{AdVideoFields::SOURCE} = *video_path*;
try {
$video->create();
} catch (\FacebookAds\Http\Exception\RequestException $e) {
echo "<script>alert('" . $e->getErrorUserMessage() . "')</script>";
set_time_limit($time_limit);
return;
}
set_time_limit($time_limit);
Результат:
Я получаю следующее исключение —
«Тайм-аут операции через 60000 миллисекунд при получении 0 байтов»
Размер загружаемого видео составляет около 20 МБ, и для его загрузки потребуется больше времени. Как справиться с этим? Есть ли способ показать прогресс загрузки? Поддерживает ли этот класс загрузку по частям?
Пробовал set_time_limit (0); но не поможет
Похоже, вы достигли таймаута CURL, который по умолчанию равен 60 в SDK.
Вы можете использовать следующий код, чтобы изменить время ожидания на неограниченное:
Api::instance()
->getHttpClient()
->getAdapter()
->getOpts()
->offsetSet(CURLOPT_TIMEOUT, 0);
Других решений пока нет …