Здравствуйте.
Написал локально модуль по импорту товаров из xml.
В нём используются функции из расширений php: dom, simple xml, xml reader.
Локально обрабатывался без проблем (XAMMP на PHP 5.2.x)
Перевёл код на хостинг ника - ошибка выполнения скрипта:
и так далее...
На хостинге предварительно были включены эти три расширения.
Привожу код функции, где ошибка появляется (функция из модуля xml2node с упрощениями и оптимизацией):
if (!empty($index) && $index >= 1) {
// open xml file
if ($this->load_xml()) {
// set the pointer to the first contenttype element
while ($this->xml_reader->read()) {
if ($this->xml_reader->name == $this->node_name) {
break;
}
}
$pointer = 1;
// set the pointer to the passed index if possible
while ($pointer != $index && $this->xml_reader->next()) {
if ($this->xml_reader->name == $this->node_name) {
$pointer++;
}
}
if ($pointer == $index) {
// get the current node as a DOMNode
$dom = $this->xml_reader->expand(); <------ ошибка здесь
// convert the DOMNode into a SimpleXML Object
$dom_doc = new DOMDocument('1.0', 'utf-8');
$simple_xml_obj = simplexml_import_dom($dom_doc->importNode($dom, TRUE));
$this->arr_content = $simple_xml_obj;
return TRUE;
}
else {
return FALSE;
}
}
else {
return FALSE;
}
}
else {
return FALSE;
}
}
Ошибка аналогичная на 201 и 301 тарифах.
Писал в техподдержку - говорят, что с модулем dom (от PHP) всё порядке - разбирайтесь с сами
Сегодня решил проверить этот же самый код на тарифном плане sweb sx-3 - код выполнился безо всяких ошибок.
Вопрос: возможно я что-то ещё не включил на нике (кроме этих трёх расширений) или как-то можно всё же поправить код?
РЕШЕНИЕ: Перейти на версию php 5.1.x (на ветке 5.2.x не работает).