<и> удаляются из результата анализа при использовании PHP / libxml - PullRequest
0 голосов
/ 27 октября 2010

(я использую PHP 5.2.6, а phpinfo говорит, что он загружен libxml 2.6.32)

Я также использую wordpress и всякий раз, когда вызывается функция xml_parse (), я получаю &lt; и &gt; исключено из результата, вместо преобразования в "<" и ">".

Я обнаружил, что люди говорят, что это ошибка, которая затрагивает более новые версии libxml, но у меня есть старая, и она все ещесчастье для меня.Странно то, что у меня на сервере Apache под Windows WAMP установлена ​​та же настройка PHP / libxml dev, и там этого не происходит.

Мой вопрос: знаете ли вы, как заставить xml_parse вести себя так, как должен?И как я могу обновить мой libxml на сервере Fedora Prod.yum говорит, что libxml2, который я установил, - это 2.7.2, но, как я сказал, phpinfo говорит, что libxml - это 2.6.32.Как заставить PHP использовать более новую версию libxml?

Редактировать: Например, вот такой результат на моем dev-сервере:

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

И это то, что я получаю на моем сервере prod:

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

1 Ответ

0 голосов
/ 27 октября 2010

Позвольте мне ответить на мой собственный вопрос.

Проблема была в том, что 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 () говорит вам .Всегда делайте двойные проверки.

...