Enquanto tento configurar um ambiente php no Windows (usando wamp) para usar o Amazon PHP SDK, quando tento executar um teste de amostra, recebo o seguinte erro:
Fatal error: Uncaught exception 'cURL_Exception' with message 'cURL resource: Resource id #10; cURL error: SSL certificate problem: unable to get local issuer certificate (cURL error code 60). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.' in C:\wamp\www\AWSSDKforPHP\lib\requestcore\requestcore.class.php on line 848
Já adicionei a seguinte linha ao meu php.ini
curl.cainfo = C:\Windows\ca-bundle.crt
qual é a localização de um certificado que criei usando este script VBS VBS-Script
Eu reiniciei meu serviço WAMP também.
curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
entra em cena.Respostas:
Use este pacote de certificado raiz de certificado:
https://curl.haxx.se/ca/cacert.pem
Copie este pacote de certificado em seu disco. E usar isso em
php.ini
curl.cainfo = "path_to_cert\cacert.pem"
fonte
curl_setopt($ch, CURLOPT_CAINFO, ini_get('curl.cainfo'));
e no php.ini[cURL] curl.cainfo = C:\dev\xampp\php\cacert.pem
. O arquivo está lá, mas ainda recebo o erro 60. Há algo que estou faltando?php.ini
: Um para php-cli segundo para php-web (apache, nginx, ...). Você precisa definir umcurl.cainfo = "path_to_cert\cacert.pem"
para web. Por outro lado, se você pode ver quecurl.cainfo
é verdade em sua visualização de informações do php, talvez haja um problema de permissão.curl.cainfo
minhas informações de php. Isso significa que coloquei o valor no arquivo errado?eu consertei isso modificando o
php.ini
arquivo emC:\wamp\bin\apache\apache2.4.9\bin\
curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"
primeiro eu estava tentando modificar o
php.ini
arquivo emC:\wamp\bin\php\php5.5.12\
e não funcionou.espero que isso ajude alguém que está procurando o direito
php.ini
de modificarfonte
Isso lhe dirá exatamente qual arquivo php.ini está sendo carregado, para que você saiba qual modificar. Perdi muito tempo alterando o arquivo php.ini errado porque eu tinha WAMP e XAMPP instalados.
Além disso, não se esqueça de reiniciar o servidor WAMP (ou o que você usar) após alterar o php.ini.
fonte
@Overflowh Tentei a resposta acima também sem sorte. Mudei a versão do php de 5.3.24 para 5.5.8, pois esta configuração só funciona no php 5.3.7 e superior. Então, encontrei este http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue . Baixei o cacert.pem de lá e substituí aquele que baixei / fiz em curl.hxxx.se ligado acima e tudo começou a funcionar. Eu estava tentando fazer o paypal sandbox IPN verificar. Fico feliz em dizer que após a troca de .pem tudo está ok usando a configuração curl.cainfo no php.ini que ainda não estava no 5.3.24.
fonte
@ Hüseyin BABAL
Estou recebendo um erro com o certificado acima, mas tentei este certificado e está funcionando.
https://gist.github.com/VersatilityWerks/5719158/download
fonte
Primeiro, precisamos baixar este pacote de certificado raiz de certificado:
https://curl.haxx.se/ca/cacert.pem
Mova este arquivo para algum lugar como a pasta PHP na pasta Wamp / Xampp.
Em seguida, edite o seu "php.ini":
curl.cainfo = "C: /path/to/your/cacert.pem"
e
openssl.cafile = "C: /path/to/your/cacert.pem"
IMPORTANTE:
Certifique-se de abrir o arquivo "php.ini" diretamente no Windows Explorer. (no meu caso: “C: \ DevPrograms \ wamp64 \ bin \ php \ php5.6.25 \ php.ini”).
Não use o atalho para "php.ini" no menu do ícone Wamp / Xampp na bandeja do sistema. Este atalho não funcionou em alguns casos que enfrentei.
Depois de salvar "php.ini", você não precisa "Reiniciar Todos os Serviços" no ícone Wamp ou fechar / reabrir o CMD.
Tente com "var_dump (openssl_get_cert_locations ());" e observe a linha: ["ini_cafile"] => string (40) "C: /path/to/your/cacert.pem"
Feito.
fonte
A solução mais fácil para o problema é adicionar o comando abaixo no campo.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
Usando isso, não será necessário adicionar nenhum certificado ou nada.
fonte
Problema corrigido, baixe https://curl.haxx.se/ca/cacert.pem e coloque "em algum lugar" e adicione esta linha em
php.ini
:curl.cainfo = "C:/somewhere/cacert.pem"
PS: Recebi este erro ao tentar instalar o módulo no drupal com o xampp.
fonte
Adicione o seguinte ao php.ini [use '/' em vez de '\' no caminho] curl.cainfo = "path / cacert.pem"
Reiniciei meu XAMPP. Funcionou bem para mim. obrigado
fonte
se cacert.pem dos links acima não funcionar, tente este funcionou para mim
https://gist.github.com/VersatilityWerks/5719158/download
fonte
Primeiro você tem que baixar o certificado deste link
https://curl.haxx.se/ca/cacert.pem
e colocá-lo em um local que você deseja que o nome do arquivo para download seja: cacert.pem Portanto, no meu caso, vou colocá-lo em C: \ wamp64 \ bin \ php \ cacert.pem
Então você deve especificar a localização do arquivo php.ini
Por exemplo, estou usando php 7, o arquivo php.ini está localizado em: C: \ wamp64 \ bin \ php \ php7.0.10 \ php.ini
Portanto, acesse esse arquivo e descomprima esta linha; openssl.cafile
também atualize-o para ficar parecido com este openssl.cafile = "C: \ wamp64 \ bin \ php \ cacert.pem"
Finalmente reinicie seu servidor apache e isso é tudo
fonte
IMPORTANTE : após 4 horas, trabalhar com laravel 5.7 e php 7. + e executar / usar php artison servir em localhost tentando conectar-se ao mailgun.
IMPORTANTE para resolver o problema não funcione com ip http://127.0.0.1:8000 use localhost ou defina o nome de domínio pelo arquivo host
Está bem ,
fonte
A solução é editar o arquivo php.ini localizado na sua versão php (para mim é php7.0.10) e não o php.ini do apache. Você encontrará um arquivo comentado como este; curl.cainfo Basta alterar esta linha como curl.cainfo = "C: \ permCertificate \ cacert.pem"
Não se esqueça de criar o diretório "permCertificate" e copiar o arquivo "cacert.pem" dentro dele.
fonte
Só para você saber o que funcionou para mim, o arquivo em https://curl.haxx.se/ca/cacert .... não funcionou, entretanto, o da pasta zip no post em ( http: // flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue ) funcionou para mim sem problemas.
Como já foi dito, copie o arquivo do certificado para um local em seu disco rígido, atualize a linha
em seu arquivo php.ini para ler
curl.cainfo= "path_to_cert\cacert.pem"
Reinicie seu servidor Apache.
fonte