티스토리 뷰
외부 api와 통신하는 도중 아무리 해도 값을 받아올 수가 없어서 헤메던 중 curl 통신 시 SSL 인증서 설정이 빠졌다는 것을 알게 되었습니다.
코드에는 전혀 문제가 없는데도 계속 에러가 뜬다면 curl 설정을 확인해보세요😅
설정이 안되어 있다면 다음의 제가 시도한 방법을 참고하시면 됩니다.
우선 다음의 인증서를 다운받습니다. 중요한 것은 저장하는 경로인데요, php 파일 안에 ext라는 폴더가 있을거에요. 그 폴더 안에 넣어주세요!
저 같은 경우는 C:\Program Files\PHP\v7.2\ext 폴더에 넣었습니다.
다음은 php.ini 파일을 수정해주어야 합니다.
curl.cainfo = "C:\Program Files\PHP\v7.2\ext\cacert.pem"
openssl.cafile= "C:\Program Files\PHP\v7.2\ext\cacert.pem"
curl.cainfo, openssl.cafile 이 두가지를 주석 제거해주시고 인증서 다운받은 경로를 정확히 입력해주세요.
마지막으로 웹서버를 다시 시작해주세요.

저는 웹서버로 IIS를 쓰고 있습니다. 오른쪽에 다시 시작 버튼을 눌러주세요.
curl ssl 인증서 등록이 잘되었는지 확인하려면 phpinfo() 출력문에서 curl 설정에 경로가 잘 지정이 되있는지 확인하시거나 다음의 코드를 입력해 어떤 에러가 뜨는지 확인해보시면 됩니다.
try {
$c = curl_init();
curl_setopt($c, CURLOPT_URL, (통신할 외부 api 링크));
curl_setopt($c, CURLOPT_POST, true);
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($c);
print "<textarea>";
print ("curl.cainfo: " . ini_get('curl.cainfo') . PHP_EOL);;
print("curl error: " . curl_error($c) . PHP_EOL);
print("result: " . htmlentities($res) . PHP_EOL);
print "</textarea>";
} catch (Exception $e) {
throw $e;
}
이렇게 하면 외부 api를 호출했을 때 응답을 잘 받아오는 것을 볼 수 있습니다.
'php' 카테고리의 다른 글
| [php] composer 설치 및 사용법 on Window (0) | 2022.05.31 |
|---|---|
| [php] php mysql 중복되지 않는 랜덤 숫자 생성하기 (0) | 2022.05.17 |
| [php] php mailer 메일 보내기 / Could not authenticate 에러 해결 (0) | 2022.05.16 |
| [php] 게시판 구현하기 - 수정/삭제 (update/delete) (0) | 2022.04.29 |
| [php] 게시판 만들기 - 페이징, 검색, 정렬 구현하기 (0) | 2022.04.25 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- php 게시판
- curl.cainfo 적용
- JS session
- curl.cainfo 에러
- php composer
- http 접속 시 https 리다이렉션
- curl.cainfo
- 링크 공유 시 정보 수정
- react restful API
- 자바스크립트 url 파라미터 추출
- 자바스크립트
- php rand()
- fetch get post 전송
- JS 시계 기능
- 자바스크립트 세션
- HTML
- JavaScript
- curl ssl 인증서
- php mysql 랜덤 숫자
- JS url 파라미터
- AJAX
- html input
- react fetch
- 링크 공유 시 썸네일
- 카톡 링크 공유 썸네일
- curl ssl 인증서 다운로드
- input placeholder
- fetch post 데이터 전송
- php composer 설치
- php mongodb
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
글 보관함