Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Erro ao executar os testes

Estou tendo os seguintes erros logo nos testes iniciais do curso:

1) CViniciusSDias\GoogleCrawler\Tests\Functional\DefaultCrawlerTest::testSearchResultsWithoutProxy
GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)

2) CViniciusSDias\GoogleCrawler\Tests\Functional\PersonalizedCrawlerTest::testSearchOnBrazilianGoogleWithoutProxy
GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)

Não alterei nada nos arquivos iniciais, apenas executei o composer install

1 resposta
solução!

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:

  1. 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.

  2. Verificar as configurações do OpenSSL: Se estiver em um ambiente Unix, verifique se o OpenSSL está corretamente configurado e atualizado.

  3. 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 ✓.