테스트 사이트 - 개발 중인 베타 버전입니다

php 문법관련 ( json형태 ) 채택완료

수난이대 3년 전 조회 3,134

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

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

 

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

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

 

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

 

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

 

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

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

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

 

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

 

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

 

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

답변 4개

채택된 답변
+20 포인트
그누위즈

복잡하게 하지마시고

그냥 풀어서 사용하세요.

아래는 참고 소스입니다.

</p>

<p>$data = json_encode($data);</p>

<p>$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)

);</p>

<p>$ch = curl_init();

curl_setopt_array($ch, $opts);

$res = curl_exec($ch);</p>

<p>

로그인 후 평가할 수 있습니다

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

시니어월천

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

시니어월천
3년 전
저도 궁금합니다. 그래서 저는 아예 시놀로지 사용합니다.

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

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

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

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

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

그누위즈

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

이렇게 해보시죠.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

수난이대
3년 전
답변 감사합니다. 말씀해주신 문법이 맞는거같습니다.
제가 질문을 좀 잘못올린거같은데.. 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이하 버전에서 문제같습니다.
혹시 다른 조언해주실 부분이 있는지요?

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

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

로그인