Ловля ошибок cURL от Guzzle

У меня есть следующий код, который делает запрос Guzzle 4.1:

$client = new \GuzzleHttp\Client(['defaults/headers/User-Agent' => $userAgentString]);

$retry = 0;

do {
try {
return $client->post($url, $options);
} catch (\Exception $e) {
echo $e->getMessage();
$retry++;
continue;
}
} while ($retry < 3);

Он работает долго, но через случайные интервалы иногда возникает проблема с файлом CA cURL, что приводит к фатальной ошибке из-за необработанного исключения. Я не уверен, что могу с этим поделать, потому что у меня уже есть это в try catch блок.

Вот ошибка, которая сбивает мою консольную команду Laravel:

cURL error 77: error setting certificate verify locations:
CAfile: /home/vagrant/Projects/test.dev/laravel/vendor/guzzlehttp/guzzle/src/cacert.pem
CApath: /etc/ssl/certs (0)
PHP Fatal error:  Uncaught exception 'ErrorException' with message 'include(/home/vagrant/Projects/test.dev/laravel/vendor/filp/whoops/src/Whoops/Exception/Inspector.php): failed to open stream: Too many open files' in /home/vagrant/Projects/test.dev/laravel/vendor/composer/ClassLoader.php:382

То, что я хотел бы сделать, это не только выяснить, почему Guzzle получает эту ошибку cURL, но также и как я могу ее отловить, если она возникнет в других системах, у которых есть эта проблема cURL, чтобы она не просто приводила к сбою процесса.

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]