@AlexSer

Почему происходит зависание при cUrl https?

Доброе утро! Кто может объяснить в чем дело!
Написал Rest API для приема данных через cUrl..
function Start()
    {
        $url = 'url'
            . '?login=login'
            . '&password=12345';
        $data = file_get_contents_ssl($url);
	return $data;
		
    }

    /**  Функция выхода из  портале
     * после выхода  очищаем @session_id
     */
    function Close($session_id)
    {
        $url = 'url/api/user/logout?' . $session_id;
        file_get_contents_ssl($url);
        unset($session_id);
return true;
    }
    
// Код взял с программы POSTMAN.

   function file_get_contents_ssl($url)
    {
		$curl = curl_init();
		curl_setopt_array($curl, array(
		  CURLOPT_URL => $url,
		  CURLOPT_RETURNTRANSFER => true,
		  CURLOPT_ENCODING => '',
		  CURLOPT_MAXREDIRS => 10,
		  CURLOPT_TIMEOUT => 0,
		  CURLOPT_FOLLOWLOCATION => true,
		  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
		  CURLOPT_CUSTOMREQUEST => 'GET',
		 /* CURLOPT_HTTPHEADER => array(
			'Cookie: PHPSESSID=80ilsqeao55t2nr82afb66224t'
		  ),*/
		));

		$response = curl_exec($curl);
		curl_close($curl);
		return $response;
    }

Сервер отправляет мне данные в json формате.
Ответ на авторизацию приходит в таком виде
{"error_code":0,"sess_id":"ki27vstgjqk3ti56i9ctgo4i75"}

Но как, только я делаю json_decode({"error_code":0,"sess_id":"ki27vstgjqk3ti56i9ctgo4i75"}),
и пытаюсь получить параметр sess_id, все начинает виснуть просто жуть.
Кто знает в чем может быть причина.
Делаю запросы через PostMan, но там никакого зависания с ответами.
Может какие нить настройки в Yii2, нужно сделать?
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ответы на вопрос 1
2ord
@2ord
Судя по симптомам, объём данных может быть достаточно большой, что приводит к раздуванию памяти и последующим погружением ОС в работу с разделом подкачки.
Для начала, стоит обратить внимание на размер данных в заголовке Content-Length. Поэтому приложению нужна память на этот объём и на процесс обработки полученных данных, который включает в себя парсинг JSON, на который требуется даже больше памяти, чем сам JSON.
Учитывать и то, что на машине разработчика обычно запущены IDE, веб-браузер и много других программ.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы