채택완료

php 문법관련 ( json형태 )

2022-08-29 (월) 16:38:19 3,764

토스페이먼츠 결제 작업했고,

실제 연동을 해서 서비스중에 있습니다.

관련해서 아래와 같은 코드가 있는데

php 설정문제인지  특정 서버에서는 에러가 나오네요.

$data = ['orderId' => $orderId, 'amount' => $amount];

위 코드 사용하기만 해도 "웹 사이트에서 페이지를 표시할 수 없습니다" 에러가 나옵니다

error_reporting( E_ALL );
ini_set( "display_errors", 1 );

를 사용해도 에러코드를 보여주지 않네요..

카페24 호스팅이고, php5.3 입니다.

정상동작하는 서버는 php.5.5 입니다.

해당 코드를  사용하기 위한 조건이 있는지요?

|

답변 4개 / 댓글 4개

채택된 답변
+20 포인트

복잡하게 하지마시고

그냥 풀어서 사용하세요.

아래는 참고 소스입니다.

Copy
$data = json_encode($data);

$opts = array(
    CURLOPT_URL => $this->host . $url,
    CURLOPT_HEADER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => $data,
    CURLOPT_HTTPHEADER => $this->get_header('POST', $url)
);

$ch = curl_init();
curl_setopt_array($ch, $opts);
$res = curl_exec($ch);
2022-08-29 (월) 23:54:22

답글 잘 읽었습니다. 감사합니다.

카페24는 php 버전 올리는거 어려운가요 ?

정말 몰라서 질문드립니다.

답변에 대한 댓글 1개

2022-09-12 (월) 12:05:39
저도 궁금합니다. 그래서 저는 아예 시놀로지 사용합니다.
2022-08-29 (월) 17:10:37

php 5.2~5.3이면 array로 하는걸로 알고 있구요

5.4부터인가? [] << 이렇게 배열로 하는걸로 알고 있어요

답변에 대한 댓글 2개

답변감사합니다. 코드를 어떻게 변경해야할지 고민입니다.
음.. 일단 에러를 뭘로 나오는지부터 알아보셔야되요 그리고 토스페이먼츠 매뉴얼 참고해서 그거 에러 잘못나온거 이유를 알아야되구요 제이슨 함수 같은경우는 5.2 이하는 지원 안되요

$data = array('orderId' => $orderId, 'amount' => $amount);

이렇게 해보시죠.

답변에 대한 댓글 1개

답변 감사합니다. 말씀해주신 문법이 맞는거같습니다.
제가 질문을 좀 잘못올린거같은데.. php.5.3에서
아래와 같은 코드를 못읽고 에러가 납니다.

$data = ['orderId' => $orderId, 'amount' => $amount];

curl_setopt_array($curlHandle, [
CURLOPT_POST => TRUE,
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_HTTPHEADER => [
'Authorization: Basic ' . $credential,
'Content-Type: application/json'
],
CURLOPT_POSTFIELDS => json_encode($data)
]);


아무래도 json 관련 지원 여부나 php.5.3이하 버전에서 문제같습니다.
혹시 다른 조언해주실 부분이 있는지요?

답변을 작성하려면 로그인이 필요합니다.