php 문법관련 ( json형태 )

php 문법관련 ( json형태 )

QA

php 문법관련 ( json형태 )

본문

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

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

 

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

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 버전 올리는거 어려운가요 ?

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

답변을 작성하시기 전에 로그인 해주세요.
전체 28
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT