Не работает

Frutik

1024-й
Не работает

код:
$source = join ("", file("file.xml"));
$xml = xmldoc($source);

оутпут:

Fatal error: Call to a member function on a non-object in /var/www/struct.php on line 10

10 строчка это как раз $xml = xmldoc($source);
в $source текст есть

чего мне не хватает в моем пхп
 

Frutik

1024-й
ой сорри клинит немножко не на той строчке а на
$root = $xml->root()

но проблема то по прежнему в том что xmldoc() не вытягивает дерева из source
 

Frutik

1024-й
проблема явно в том что чегото не хватает или чтото не включено - на другой машине скрипт сработал без ошибок

платформа - Линукс
 

Sababa

Guest
Должен стоять domxml, но судя по тому, что не ругается на xmldoc как на неизвестную функцию, то все стоит, тогда проблема непонятна, полный листинг и конкретно ошибку в студию
 

Frutik

1024-й
PHP:
$source = join("",file("./linux.org.ua.xml"));
$xml = xmldoc($source);
$root = $xml->root();
$node = $root->children();
foreach( $node as $current_node ) {
	[skipped]
}
на строчку $root = $xml->root()
Fatal error: Call to a member function on a non-object in /var/www/struct.php on line 10

хотя оно и понятно так как var_dump($xml)
пишет bool(false)
var_dump($source) выдает текст из xml файла

теперь о птичках:
цитата из phpinfo
xml
XML Support active
XML Namespace Support active
EXPAT Version expat_1.95.2
domxml
DOM/XML enabled
libxml Version 2.4.19
XPath Support enabled
XPointer Support enabled

цитата из phpinfo на машине где скрипт работает:

xml
XML Support active
domxml
DOM/XML enabled
libxml Version 2.4.2
XPath Support enabled
XPointer Support enabled
 

Frutik

1024-й
да еще одна разнича есть между машинами -
на той на которой не работает пхп в сейфмоде

но не может же быть причина в этом?
 

Sababa

Guest
Какая версия php?

xmldoc уже давно depricated, вместо нее надо пользоваться domxml_open_mem()
 

Frutik

1024-й
PHP Version 4.1.2 не работает
PHP Version 4.0.6 работает

ссылочку можешь дать? (как не депрекатет работать с хмл)
 

Sababa

Guest
хм... старенькие версии, в тот момент xmldoc еще не depricated была, по-моему..

странно, если xmldoc возвращает false, значит не может распарсить xml-документ, но по этому поводу он должен был ругнуться...
 

Frutik

1024-й
действительно
написал другой хмл (там где не работало) и оно его распарсило

но... почему на старой машине парсится то что не парсится на новой

спасибо за идею
 

Sababa

Guest
да из-за чего угодно, например если domxml не скомпилен с iconv, то он не будет понимать русскую кодировку, и если парсеру будешь подсовывать xml с русскими буковками, то он будет ругаться
 

Frutik

1024-й
кто подскажет как пофиксить проблему?

Description:
не парсятся документы содержащие кирилицу
 
Сверху