Я создал программу 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
. Попробуйте установить это на что-то большее и посмотрите, не найдете ли вы какой-либо разницы.