php 상에 curl 라이브러리가 설치되어야 사용가능한 기능

2018. 9. 12. 11:09PHP

반응형

php 상에 curl 라이브러리가 설치되어야 사용가능한 기능이다.

간단하게 소켓통신을 간편하게 해주는 도구라고 생각하면 된다.

 

1. curl 이 설치 되어있는지 확인하기.

php를 실행할수있는 서버에 하나의 가상파일을 만들어서 해당 코드 입력.

1
2
3
4
5
<?php
    
    phpinfo();
 
?>

해당코드 입력후 파일을 실행해서 결과값 확인.

phpinfo_curl1.jpg

phpinfo_curl2.jpg

 

curl이 설치되어있는지 확인.

설치가 되어있지 않다면 서버담당자에게 요청하거나 직접설치한다. (설치내용은 길어서 다음에 포스팅)

 

2. 설치가 되었있다면 curl을 사용할 함수를 제작.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/**
 * @param $url  값을 던질 url
 * @param int $is_post   post 통신이면 1, get 이면0
 * @param array $data    전달할 값
 * @param null $custom_header    header를 같이 전송할경우
 * @return mixed
 */
function request_curl($url, $is_post=0, $data=array(), $custom_header=null) {
        $ch = curl_init();
        curl_setopt ($ch, CURLOPT_URL,$url);
        curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt ($ch, CURLOPT_SSLVERSION,1);
        curl_setopt ($ch, CURLOPT_POST, $is_post);
        if($is_post) {
            curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
        }
 
        curl_setopt ($ch, CURLOPT_TIMEOUT, 300);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
        //curl_setopt ($ch, CURLOPT_HEADER, true);
 
        if($custom_header) {
            curl_setopt($ch, CURLOPT_HTTPHEADER, $custom_header);
        }
        $result[0] = curl_exec ($ch);
        $result[1] = curl_errno($ch);
        $result[2] = curl_error($ch);
        $result[3] = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close ($ch);
        return $result;
}

 

3. 사용법

1
2
$params = array( 'P_TID' => '값', 'P_MID' => '값' );
$strArrResult = request_curl('값을 던질 url', 1, $params);

 


출처 : http://lemon421.cafe24.com/blog/textyle/14312


반응형