curl error 60
php 에서 curl 을 이용하는 경우에 아래같은 error 가 뜨는 경우가 있다."cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)"https 로 request 를 할 때 발생한다. local 에 있는 ca 정보를 확인할 수 없어서이다. 그래서 이경우에는 ca 정보가 있는 파일(보통 cacert.pem) 의 경로를 지정해 줘야 한다.
이때 지정해 주는 방법은 2가지가 있다.
- curl_setopt 를 사용하는 법
- php.ini 의 calinfo 를 set 해주는 법
curl_setopt
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CAINFO, dirname(__FILE__) . '/cacert.pem'); $json = curl_exec($ch); curl_close($ch);
php.ini 설정
- https://stackoverflow.com/questions/29822686/curl-error-60-ssl-certificate-unable-to-get-local-issuer-certificate
- https://stackoverflow.com/a/30753741
- cacert.pem 을 copy : <php_path>\extras\ssl\cacert.pem
- php.ini 의 curl.cainfo 를 설정
curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"; php.ini curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"
- server 재시작
잘 해결하였습니다. 감사합니다..
답글삭제