Как предотвратить буферизацию с помощью cURL большого видеофайла - PullRequest
0 голосов
/ 24 сентября 2019

Существует веб-сервер (а) на хостинге с ограниченным дисковым пространством.И есть удаленный сервер (б) с видеофайлами и неограниченным дисковым пространством.Клиент запрашивает прокси php-cURL с веб-сервера, который, в свою очередь, использует cURL для запроса видеофайла на удаленном сервере (c), а обратный вызов возвращает части видеофайла клиенту (a).Все отлично работает, кроме одного.Нет необходимости сохранять содержимое видеофайла на хостинге (b), в то время как видеофайл с удаленного сервера (c) накапливается в буфере и перегружает дисковую память хост-сервера (b).Где это накапливается и как убирать, мне трудно понять.Любые трюки с CURLOPT_BUFFERSIZE не приносят результатов.Как предотвратить буферизацию всего видеофайла на хостинге (сервер б).Спасибо!

<?php
$filename = "http://some.remote.video.server/mp4/V36.mp4";
$ch = curl_init($filename);
curl_setopt($ch, CURLOPT_HEADERFUNCTION, function($curl, $header)
{
    return strlen($header);
}
);

bcurl_setopt($ch, CURLOPT_WRITEFUNCTION, function($curl, $body)
{
    echo $body;
    $len = strlen($body);
    return $len;
}
);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_exec($ch);
curl_close($ch);
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...