Потеря данных при их передаче методом GET запроса
У меня есть 2 сервера, которые общаются между собой с помощью http-запросов. Для выполнения запросов я использую php curl. Проблема возникает при получении данных методом GET со второго сервера:
- Первый сервер отправляет второму серверу GET запрос.
- Второй сервер формирует массив с данными и сериализирует его (serialize).
- Второй сервер отдает сериализированные данные с помощью echo.
- Первый сервер получает эти данные.
Периодически получается так, что часть данных обрезается. Конец выглядит так:

В то время как конец сериализированных данных должен выглядеть:

Очень прошу помощи, так как даже нет предположений, из-за чего данные могут обрезаться. На серверах timeout установлен с запасом: set_time_limit(28800); Так же выделен большой объем памяти, превышающий передаваемые данные: ini_set('memory_limit','8192M');
В дополнению к этому get запрос может зависнуть до ручного завершения. Например, может спокойно висеть 3 дня. А это в несколько раз превышает установленный timeout.
Первый сервер выполняет запрос следующим образом:
$Curl = curl_init();
curl_setopt($Curl, CURLOPT_URL, $sUrl);
curl_setopt($Curl, CURLOPT_VERBOSE, true);
curl_setopt($Curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($Curl, CURLOPT_SSL_VERIFYHOST, 0); // Skip SSL Verification
curl_setopt($Curl, CURLOPT_SSL_VERIFYPEER, 0); // Skip SSL Verification
curl_setopt($Curl, CURLOPT_CUSTOMREQUEST, 'GET_FILES');
$aHeaders = array();
$aHeaders[] = 'query: '.$sUrlParams;
$aHeaders[] = 'Content-Type: 0';
curl_setopt($Curl, CURLOPT_HTTPHEADER, $aHeaders);
$result = curl_exec($Curl);
Второй сервер на этот запрос делает:
$sResponse = serialize($aResponseBody);
echo $sResponse;