PHP curl_exec возвращает частичный ответ

Я создал программу php, которая вызывает веб-службу RESTful с помощью curl и возвращает хорошо сформированный XML. Когда я делаю это в командной строке, и получаю правильный ответ, но когда я делаю это на 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); 

Спасибо, Марк

Похоже, вы используете функцию error_log для сохранения ответа на журнал ошибок.

Кажется, что это ограничение (по умолчанию 1024 байта), но вы можете изменить его в файле php.ini с log_errors_max_len атрибута log_errors_max_len . Попробуйте установить это на что-то большее и посмотрите, не найдете ли вы какой-либо разницы.