【发布时间】:2016-09-13 21:10:56
【问题描述】:
尝试从 URL 创建 SimpleXMLElement 的新实例时,我收到错误 Uncaught exception 'Exception' with message 'String could not be parsed as XML'。
详情:
$feed_url = 'https://www.ua.edu/news/feed/';
$the_feed = new SimpleXMLElement( $feed_url, LIBXML_NOCDATA, true );
执行上述代码时,Stage 和 Prod 环境中都会出现错误,但 Dev 中不会出现错误。我已经比较了 Stage 和 Dev 环境之间的 xml 相关设置,只存在轻微的版本差异(Dev 是 PHP 的一个比 Stage/Prod 稍旧的版本)。
$feed_url = 'http://hiphopdx.com/rss/news.xml';
$the_feed = new SimpleXMLElement( $feed_url, LIBXML_NOCDATA, true );
在阶段(无法在 Prod 中测试此部分),我将 $feed_url 变量更改为另一个提要的 URL。一切都按预期工作。一个 SimpleXMLElement 对象被创建并且可以被转储到屏幕上。
我不知道如何继续纠正这个问题。非常感谢任何帮助。
【问题讨论】:
-
你在哪里设置
$feed_url?第一行是否应该将 URL 字符串分配给$feed_url而不是$the_feed? -
尝试使用
file_get_contents($feed_url);,看看是不是无法访问网址的问题。 -
使用
error_reporting(E_ALL);启用完整警告。 -
@Barmar 这是一个错字。第一行将其分配给代码中的 $feed_url。我将在我的问题中纠正这一点。谢谢。
-
检查您的allow_url_fopen 设置。