LinuxForum.Fans
Тема

Проблема с xml_parse

Автор: atlantgroup 5 сообщений 2243 просмотров
#79252

Был такой код:

text
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, $data, feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}

Который без проблем парсил xml в кодировке windows-1251

Но после установки на сервер memcached и eaccelerator стал выдавать ошибку.
Я заменил код на следующий:

text
while ($data = fread($fp, 4096)) {
    if (!xml_parse($xml_parser, iconv('cp1251', 'UTF-8', $data), feof($fp))) {
        die(sprintf("XML error: %s at line %d\n",
                    xml_error_string(xml_get_error_code($xml_parser)),
                    xml_get_current_line_number($xml_parser)));
    }
}

Теперь все работает, но думаю это не совсем правильное решение проблемы. Что подскажите, где копать?

#79477

Что за ЯП?
Похоже правда на php.

#79520
SkaarjZR написал:
Что за ЯП?
Похоже правда на php.

Да это php 5.2.5

#79616

Кажется нашел в чем проблема:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/5.2.5/extensions/xmlrpc.so' - /usr/lib/php/5.2.5/extensions/xmlrpc.so: undefined symbol: php_XML_GetErrorCode in Unknown on line 0
Как это исправить?

#79971

Поставить самые последние версии библиотек.
Покурить доки на предмет версий и их совместимости.
Прошерстить багтрекер.

Войдите или зарегистрируйтесь, чтобы ответить.