개발환경: php8.2
로그인/로그아웃 시에 아래 API를 사용 중인데요
https://kapi.kakao.com/v1/user/logout
php8.2 환경에서 명세서에 기재된 것처럼 POST 통신 시 30초 정도 딜레이되는 현상이 발생되고 있습니다
curl 통신 시 curl_getInfo() 정보 중에 effective_method 데이터에서는 GET으로 통신되어야 한다고 로깅되고 있어서
GET 으로 수정시에는 딜레이 없이 정상적으로 로그인 되고 있는데
해당 api 에 대해 유효한 방식이 정확히 어떤건지 문의드립니다.
아래 코드로 통신되고 있는데 확인 부탁드립니다
감사합니다
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://kapi.kakao.com/v1/user/logout');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$access_token));
$reponse = curl_exec($ch);
curl_close($ch);
if(!$reponse)
return;
$reponse = json_decode($reponse, true);
아래 코드를 추가 부탁드립니다.
curl_setopt($ch, CURLOPT_POSTFIELDS, array());
apache 2.4.5X 버전에서 PHP Post 응답대기 Bug
공유해주신대로 반영했을때는 딜레이현상이 발생되지 않습니다
답변 감사합니다
혹시 그럼 curl 통신 시 curl_getInfo() 정보 중에 effective_method 데이터가 GET으로 남는 현상에 대해서도 답변 가능하실까요?
해당 데이터로 인해 명세서 내용과 달리 method 방식이 잘못된 것처럼 인지될 수 있어 문의드립니다.
이는 apache, php curl 버그가 원인으로 php curl에서 body 없는 POST 요청 시, Expect: 100-continue 헤더만 전달되는 것이 원인으로 이를 해결하기 위해서는 빈 값을 전달해야만 합니다.