Oi Felipe! Tudo bem?
Esse erro está geralmente relacionado a problemas com certificados SSL. Quando o cURL tenta fazer uma requisição HTTPS, ele verifica se o certificado do servidor é confiável, e o erro "unable to get local issuer certificate" indica que o cURL não conseguiu encontrar um certificado de autoridade que valide o certificado do servidor.
Aqui estão algumas sugestões que podem te ajudar a resolver esse problema:
Atualizar o arquivo de certificados do cURL: No Windows, o cURL usa um arquivo chamado cacert.pem
para verificar os certificados. Você pode baixar a versão mais recente desse arquivo em curl.haxx.se e apontar o cURL para usá-lo. Para fazer isso, adicione a seguinte linha ao seu arquivo php.ini
:
curl.cainfo = "C:\caminho\para\cacert.pem"
Certifique-se de substituir "C:\caminho\para\cacert.pem"
pelo caminho correto onde você salvou o arquivo cacert.pem
.
Verificar as configurações do OpenSSL: Se estiver em um ambiente Unix, verifique se o OpenSSL está corretamente configurado e atualizado.
Desabilitar a verificação de certificado (não recomendado para produção): Se você só precisa que os testes passem para continuar o desenvolvimento, pode temporariamente desabilitar a verificação de certificado SSL no Guzzle. Isso não é recomendado para ambientes de produção, mas para testes locais, você pode fazer isso ao configurar o cliente HTTP:
$client = new \GuzzleHttp\Client(['verify' => false]);
Espero que uma dessas soluções ajude a resolver o problema que você está enfrentando.
Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.