У меня странные проблемы при использовании пропивать
Когда я пытаюсь смоделировать ошибочный запрос (например, запрос, который возвращает код состояния 404), Guzzle генерирует исключение ClientException, содержащее все детали того, почему этот запрос не удался.
Когда я пытаюсь поймать это исключение, мой скрипт завершается с фатальной ошибкой, сообщающей, что я не поймал исключение, и он показывает трассировку XDebug, указывающую, что у меня произошла утечка памяти.
Мой код выглядит так:
Замечания: httpClient является допустимым экземпляром GuzzleHttp / CLient.
$request = $this->httpClient->createRequest(
'GET',
'/templates/'.$id
);
try {
$response = $this->httpClient->send($request);
} catch (\Exception $exception) {
die('exception occured');
}
Ошибка, с которой я сталкиваюсь, заключается в следующем:
След стека
Утечка памяти
Есть ли у кого-то предложение, что может вызвать это необученное исключение + утечка?
Ваш XDebug хочет использовать больше памяти, чем установленный лимит
Ваш лимит: 512MO для сценария
Ваш XDebug хочет потреблять: 652MO
У вас есть 2 решения для решения этой технической проблемы
1 — Обновите свой php.ini => memory_limit = 768M
и после этого перезапустите свой сервер
2 — В вашем PHP Скрипт поместил этот строчный код сверху:
ini_set("memory_limit","768M");
Теперь вы должны быть полностью уверены, что эта утечка памяти не произойдет в вашей производственной среде, отключив XDebug
Других решений пока нет …