2011-03-10 3 views
0

curl을 사용하여 RESTful 웹 서비스를 호출하고 올바른 형식의 XML을 가져 오는 PHP 프로그램을 설정했습니다. 내가 명령 줄에서이 작업을 수행 할 때 올바른 응답을 얻었지만 curl_exec()을 사용하여 PHP에서이 작업을 수행 할 경우 응답의 절반 밖에받지 못합니다. 응답은 기본적으로 짧습니다.부분적인 응답을 반환하는 PHP curl_exec

누구든지이 문제의 원인을 알고 있습니까? 다음과 같이

코드는 다음과 같습니다 오류 로그에 응답을 저장 error_log 기능을 사용하고 같은

 $url = $this->dspace_url . '/dspace/search.xml?query=' . urlencode($query); 
     $sac_curl = curl_init(); 
     error_log('query url is'.$url); 
     curl_setopt($sac_curl, CURLOPT_HTTPGET, true); 
     curl_setopt($sac_curl, CURLOPT_URL, $url); 
     curl_setopt($sac_curl, CURLOPT_VERBOSE, true); 
     curl_setopt($sac_curl, CURLOPT_RETURNTRANSFER, true); 
     curl_setopt($sac_curl, CURLOPT_HEADER, false); 
     $resp = curl_exec($sac_curl);    
     error_log('response is '.$resp); 

감사합니다, 마크

+0

은 CURLOPT_RETURNTRANSFER on입니까? – kjy112

+0

컬 코드를 표시하십시오. 문제는 SET_OPT 일 수 있습니다. – Belinda

+0

어떤 PHP 버전을 사용하고 있습니까? – kjy112

답변

0

그것은 보인다.

기본값은 1024 바이트로 제한되어 있지만, log_errors_max_len 속성을 사용하여 php.ini 파일에서 변경할 수 있습니다. 그 값을 더 큰 값으로 설정해보고 차이점이 있는지 확인하십시오.

+0

Jaitsu에게 감사드립니다. 그렇습니다. 내 코드가 작동하고 있었지만 error_log-doh의 한계로 인해 부분적인 XML 만보고있었습니다. –

관련 문제