안녕하세요.
토큰 발급은 x-www-form-urlencoded 데이터 형식으로 요청 하셔야 합니다.
curl_setopt($ch, CURLOPT_URL, 'https://kauth.kakao.com/oauth/token');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded',
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=authorization_code'
. '&client_id=' . $cliend_id
. '&redirect_uri=' . urlencode($redirect_uri)
. '&code=' . $code);
// client_secret 옵션 활성화 하지 않았기에 해당 파라미터 불필요