티스토리 뷰

PHP 로 서버에서 Curl 로 Post 를 보낼때 "Notice: Array to string conversion" 혹은 Laravel 에서는 아래와 같은 에러를 보실 수 있습니다.



Laravel 최신버전에서는 디버그 모드가 변경되어서 다르게 뜨겠지만 메세지는 같을 것으로 예상됩니다.




일단 에러의 이유는 array in array 로 배열 안에 배열을 넣어서 그대로 전송하려 할때 나타나는 현상인대요.


$transData = array(
    'user_id' => $userInfo['userid'],
    'page' => $data['page']
);

$parameter = array(
		'organization_code' => 'CODE',
		'organization_token' => 'SECRETKEY',
		'request' => 'getList',
		'data' => $transData
);


위와 같이 파라미터를 설정 후 그대로 CURLOPT_POSTFIELDS 를 설정할 경우 "Array to string conversion" 라는 메세지를 보게 되는대요.


    curl_setopt($ch, CURLOPT_POSTFIELDS, $parameter);


이는 간단하게 http_build_query($parameter) 로 해결이 가능합니다.


    curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($parameter) );




오랜만에 추석때 일하면서 기록을 하게 되네요. 

즐거운 개발 되시기 바랍니다. :D



공유하기 링크
댓글