php 문법관련 ( json형태 )

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
php 문법관련 ( json형태 )

QA

php 문법관련 ( json형태 )

답변 4

본문

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

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

 

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

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

 

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

 

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

 

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

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

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

 

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

 

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

 

이 질문에 댓글 쓰기 :

답변 4

복잡하게 하지마시고

그냥 풀어서 사용하세요.

아래는 참고 소스입니다.


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

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

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

음.. 일단 에러를 뭘로 나오는지부터 알아보셔야되요 그리고 토스페이먼츠 매뉴얼 참고해서 그거 에러 잘못나온거 이유를 알아야되구요 제이슨 함수 같은경우는 5.2 이하는 지원 안되요

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

이렇게 해보시죠.

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

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 0
© SIRSOFT
현재 페이지 제일 처음으로