cURL error 60 ou cURL error 77, como resolver no gerencianet? - Maykon Silveira
Os erros cURL error 60 e cURL error 77 são comuns quando da utilização da linguagem PHP e não são da API Gerencianet, mas relacionados à componentes de seu servidor. Fique tranquilo, é bem simples de resolver, confira:
Este erro está relacionado ao cURL configurado em seu servidor (ou computador) estar exigindo um certificado (https/ssl) local. Geralmente ocorre em servidores Windows ou plataforma Wamp Server, por exemplo. Este erro também pode ser apresentado como CURLE_SSL_CACERT (60) – Peer certificate cannot be authenticated with known CA certificates.
Para resolver, vamos configurar para que seu servidor tenha um certificado para testes:
cacert.pem
em https://curl.haxx.se/ca/cacert.pem e salve-o em qualquer lugar do seu sistema, de preferência na pasta do servidor (C:\Wamp
, caso esteja utilizando-o);
.
php.ini
). Para o WampServer, normalmente este arquivo está localizado em C:\wamp\bin\php\phpX.Y.Z
, onde X.Y.Z
é a versão do seu PHP) e faça a alteração a seguir:.
Procure pela linha abaixo:
;curl.cainfo =
.
Mude para:
curl.cainfo = "C:\caminho\onde\voce\salvou\seu\certificado\cacert.pem"
.
.
Lembrando que estas configurações foram necessárias porque seu servidor está exigindo um certificado local (erro: URL error: 60 - SSL certificate problem: unable to get local issuer certificate
) e sua máquina/servidor não possui.
Esse erro está associado ao caminho do certificado que está definido de forma incorreta no arquivo php.ini
.
Atualmente, deve estar assim:
curl.cainfo = "C:\xampp\php\cacert.pem"
.
Deverá alterar e de forma que fique assim:
curl.cainfo = "C:\xampp\php\cacert.pem.txt"
.
Adicionalmente, caso o método acima não solucione, outra possível solução está relacionada a referência do certificado. Ele pode até já estar instalado local em sua máquina, mas os certificados podem estar localizados em /etc/ssl/certs/ca-certificates.crt
ao invés de /etc/pki/tls/certs/ca-bundle.crt
. Neste caso, bastaria definir a variável de ambiente CURL_CA_BUNDLE
para o caminho correto.
cURL error 60 ou cURL error 77, como resolver no gerencianet? - Maykon Silveira
Os erros cURL error 60 e cURL error 77 são comuns quando da utilização da linguagem PHP e não são da API Gerencianet, mas relacionados à componentes de seu servidor. Fique tranquilo, é bem simples de resolver, confira:
Este erro está relacionado ao cURL configurado em seu servidor (ou computador) estar exigindo um certificado (https/ssl) local. Geralmente ocorre em servidores Windows ou plataforma Wamp Server, por exemplo. Este erro também pode ser apresentado como CURLE_SSL_CACERT (60) – Peer certificate cannot be authenticated with known CA certificates.
Para resolver, vamos configurar para que seu servidor tenha um certificado para testes:
cacert.pem
em https://curl.haxx.se/ca/cacert.pem e salve-o em qualquer lugar do seu sistema, de preferência na pasta do servidor (C:\Wamp
, caso esteja utilizando-o);
.
php.ini
). Para o WampServer, normalmente este arquivo está localizado em C:\wamp\bin\php\phpX.Y.Z
, onde X.Y.Z
é a versão do seu PHP) e faça a alteração a seguir:.
Procure pela linha abaixo:
;curl.cainfo =
.
Mude para:
curl.cainfo = "C:\caminho\onde\voce\salvou\seu\certificado\cacert.pem"
.
.
Lembrando que estas configurações foram necessárias porque seu servidor está exigindo um certificado local (erro: URL error: 60 - SSL certificate problem: unable to get local issuer certificate
) e sua máquina/servidor não possui.
Esse erro está associado ao caminho do certificado que está definido de forma incorreta no arquivo php.ini
.
Atualmente, deve estar assim:
curl.cainfo = "C:\xampp\php\cacert.pem"
.
Deverá alterar e de forma que fique assim:
curl.cainfo = "C:\xampp\php\cacert.pem.txt"
.
Adicionalmente, caso o método acima não solucione, outra possível solução está relacionada a referência do certificado. Ele pode até já estar instalado local em sua máquina, mas os certificados podem estar localizados em /etc/ssl/certs/ca-certificates.crt
ao invés de /etc/pki/tls/certs/ca-bundle.crt
. Neste caso, bastaria definir a variável de ambiente CURL_CA_BUNDLE
para o caminho correto.