2010-10-27 40 views
0

时(我使用PHP 5.2.6和的phpinfo表示,它已经加载的libxml 2.6.32)<和>使用PHP/libxml的

我也使用WordPress,每当剥离出来的解析结果xml_parse()函数被调用,我得到&lt;&gt;从结果中除去,而不是被转换为“<”和“>”。

我发现有人说这是一个错误,它会触及libxml的更新版本,但我有旧版本,它仍然令我感到厌倦。奇怪的是,我在我的基于Windows WAMP的apache服务器上安装了相同的PHP/libxml开发器,并且它不会在那里发生。

我的问题是你知道我该如何让xml_parse表现出它应该如何表现?我怎样才能在Fedora prod服务器上升级我的libxml。 yum说我安装的libxml2是2.7.2,但就像我说phpinfo说libxml是2.6.32。如何让PHP使用更新版本的libxml?

编辑: 例如,这是结果是我的开发服务器上的内容:

<OrderResponse ID="XXX" Signature="XXX"><Reference>XXX</Reference><URL>http://XXX</URL><ErrCode>0</ErrCode><ErrText></ErrText></OrderResponse> 

而这就是我得到我的督促服务器上:

OrderResponse ID="XXX" Signature="XXX/ReferenceURLhttp://XXX/URLErrCode0/ErrCodeErrText/ErrText/OrderResponse 
+0

你能举个例子吗? – Gumbo 2010-10-27 08:14:08

+0

刚刚用例子编辑了这个问题。 – Goran 2010-10-27 08:20:44

回答

0

让我回答我的问题。

问题实际上是PHP使用libxml 2.7.2和phpinfo()显示关于libxml的错误信息... 2.6.32版本,phpinfo()错误地指出PHP已经使用的版本PHP是编译为,但显然是运行libxml 2.7.2,正如我们在正在运行的进程列表中看到的那样。

所以,解决的办法是编译libxml 2.6.32并安装它。一旦PHP以libxml 2.6.32开始,这个问题就消失了。

故事的要点是不信任什么phpinfo()告诉你。始终进行双重检查。

相关问题