2011-03-10 96 views
0

我已經建立了一個PHP程序,它使用curl調用RESTful Web服務並獲取格式良好的XML。當我在命令行上執行此操作時,我得到正確的響應,但是當我在PHP中使用curl_exec()執行此操作時,我只獲得了大約一半的響應。答覆基本上被縮短了。PHP curl_exec返回部分響應

有沒有人知道這個原因?

代碼如下:

 $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嗎? – kjy112 2011-03-10 17:01:09

+0

顯示一些捲曲代碼。這個問題可能是一個SET_OPT。 – Belinda 2011-03-10 17:01:39

+0

你正在使用哪個php版本? – kjy112 2011-03-10 17:22:12

回答

0

看起來你正在使用的error_log功能保存到錯誤日誌你的迴應。

這似乎是有限制的(默認爲1024字節),但您可以使用log_errors_max_len屬性在您的php.ini文件中更改它。嘗試將其設置爲更大的內容,然後查看是否找到任何區別。

+0

謝謝Jaitsu - 是的,我的代碼正在工作,但由於error_log的限制,我只看到部分XML - doh! – 2011-03-11 10:50:35