Intereting Posts
PHP – Передать переменные POST с заголовком ()? Лучший способ сделать Twitter emojis из twitter в html? Содержимое файла file_get_content () для обработки PHP Запрос mySQL, возвращающий идентификатор ресурса # 5 Оператор присваивания PHP = & отправлять электронную почту с вложением с помощью jquery ajax и php preg_replace, вызывающий удаление знаков доллара Хорошо или плохо для абстрактного класса реализовать интерфейс? Ошибка PHP: Mysqli_real_escape_string () ожидает ровно 2 параметра, 1 DOMDocument / Xpath – Как получить определенную строку из таблицы Существует ли какая-либо чистая реализация PHP LZMA Как подключиться к нескольким базам данных на одной странице PHP? сервер отправляет письма с помощью gmail smtp получает оповещения Попытка вызвать неопределенный метод с именем «getRequest» класса. Отправить по электронной почте в SwiftMailer Symfony php question … как проверить, существует ли что-то между двумя значениями?

Захват ошибок 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, поэтому она не просто разрушает процесс.