2015-03-05 5 views
0

Я использовал для разбора некоторых RSS XML файлы с PHP скрипт начинает таким образомошибка при разборе XML в Друпала

$curl = curl_init(); 
curl_setopt($curl, CURLOPT_URL, 'http://www.pinterest.com/myaccount/rss'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
$contenu = curl_exec($curl); 
$xml = new simpleXMLElement ($contenu); 

, но в течение нескольких дней, теперь я получил эту ошибку

PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML'

[Tue Mar 03 15:23:33.141113 2015] [:error] [pid 4748] [client 172.19.8.44:56794] PHP Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /var/www/html/drupal/includes/common.inc(1743) : eval()'d code:6\nStack trace:\n#0 /var/www/html/drupal/includes/common.inc(1743) : eval()'d code(6): SimpleXMLElement->__construct('')\n#1 /var/www/html/drupal/includes/common.inc(1743): eval()\n#2 /var/www/html/drupal/modules/php/php.module(81): drupal_eval('<?php?$curl = c...')\n#3 [internal function]: php_filter('process', '0', '5', '<?php?$curl = c...', '5:cc75e663c59c9...')\n#4 /var/www/html/drupal/includes/module.inc(476): call_user_func_array('php_filter', Array)\n#5 /var/www/html/drupal/modules/filter/filter.module(455): module_invoke('php', 'filter', 'process', '0', '5', '<?php?$curl = c...', '5:cc75e663c59c9...')\n#6 /var/www/html/drupal/modules/node/node.module(1054): check_markup('<?php??$curl = ...', '5', false)\n#7 /var/www/html/drupal/modules/node/node.module(1098): node_prepare(Object(stdClass), false)\n#8 /var/www/html/drupal/modules/node/node.module(1019): node_build_cont in /var/www/html/drupal/includes/common.inc(1743) : eval()'d code on line 6,

Я не знаю, что происходит.

+0

Можете ли вы уточнить, для каких частей сообщения * «Строка не может быть проанализирована как XML» *, о которой вы даже не подозреваете? Как это сообщение об ошибке является для вас загадкой? Что вы ожидали вместо этого? Можете ли вы сказать, почему? - Если вы не используете больше контекста, код, который вы опубликовали, выглядит корректно, и сообщение об ошибке имеет смысл. – hakre

ответ

0

Таким образом, ошибка в основном говорит о том, что вы получаете строку, но вы пытаетесь рассматривать ее как XML.

Посмотрите на ваш источник - http://www.pinterest.com/myaccount/rss. Может ли ваш веб-сервер получить доступ к XML, который предположительно существует? Потому что я уверен, что не могу. Если я поеду туда, я перейду на другую страницу. И конечно, если бы я сделал команду cURL там, я собираюсь получить эту страницу ... как строку, потому что это то, что есть, а не XML.

Я предполагаю, что это действительно XML-контент, но, скорее всего, вам необходимо войти в систему, чтобы просмотреть его - и есть ваша проблема - ваш веб-сервер не имеет действительного входа в Pinterest и поэтому не может видеть XML. Возможно, вам захочется выяснить, можно ли использовать cURL для аутентификации и доступа к этому XML.

0

ошибка является правильным, URL вы указали в своем вопросе не содержит XML:

http://www.pinterest.com/myaccount/rss 

Однако есть URL вы, скорее всего, имел в виду использовать вместо этого, который действительно содержит XML:

https://www.pinterest.com/myaccount/feed.rss 

Обратите внимание, что это не зависит от Drupal. Просто вы не предоставили действительный XML для конструктора SimpleXMLElement.

+0

Ох ... То, что я дура, я иногда. Это нормально с правильным URL, много спасибо – dbourrion

Смежные вопросы