I have the following code that makes a Guzzle 4.1 request:
$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);
It works for a long time, but sometimes at random intervals there is a problem with the CA file cURL, which causes a fatal error due to an uncaught exception. I'm not sure I can do this because I already have this in a try catch .
Here is the error that outputs my Laravel console command:
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
What I would like to do is not only find out why Guzzle gets this cURL error, but also how I can catch it if it appears on other systems that have this cURL problem, so it does not just ruin the process.
source share