Ошибка "Fatal error: Class 'DOMDocument' not found"

alekciy

Новичок
Ошибка "Fatal error: Class 'DOMDocument' not found"

PHP: V5.1.6
ОС: FreeBSD V6.2.

PHP ставился из портов. И вылезла такая вот ошибка:

Fatal error: Class 'DOMDocument' not found in /web/samgaps/include/main_menu.php on line 2
Код к этому делу:
PHP:
<?php
$doc = new DOMDocument();
$doc->load('samgaps.xml');
....
?>
Порыл поиск, нашел совет, что может в системе не быть libxml. Доустановил libxml2-2.2.26. Все равно таже ошибка и это несмотря на то, что phpinfo() выдает:

libxmllibXML support active
libXML Version 2.6.26
libXML streams enabled

В php.ini zend.ze1_compatibility_mode = Off.

В какую стороны теперь рыть-то?
 

alekciy

Новичок
А что-то должно? В phpinfo() по этому делу пусто. Да и должно разве там что-то быть? DOM XML под 4-ую версию был... В том же мане сказано XXX. DOM Functions:
Установка Для использования этих функций не требуется проведение установки, поскольку они являются частью ядра PHP.
 

Гравицапа

elbirret elcno
alekciy
Я конечно могу и ошибаться....
Note: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 5.0.0.

Note: This extension is no longer marked experimental. It will, however, never be released with PHP 5, and will only be distributed with PHP 4. If you need DOM XML support with PHP 5 you can use the DOM extension. This domxml extension is not compatible with the DOM extension.
 

alekciy

Новичок
Хм.... А откуда цитата-то?

-~{}~ 29.03.07 16:07:

Опять же... тут как раз и говориться о DOM XML функциях. В 5-ой версии их сменили DOM функции. В данной цитате как раз о том и разговор и идет, если нужно в 5-ой версии старые DOM XML функции.

Поэтому я zend.ze1_compatibility_mode директиву и указал. DOM XML у меня нет.
 

Gorynych

Посетитель PHP-Клуба
платформа *NIX?
php ставили сами или предустановленный хостером?

если сами, то как собирали? как насчет опции --with-dom=/usr/local (см. http://ru.php.net/manual/en/install.unix.php )?

если предустановленный хостером, то наверняка где-то предусмотрено управление расширениями php. Смотрите доки у провайдера.

потому как должно phpinfo() выдавать еще и что-то вроде

DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.13
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

кстати! что выдает phpinfo() в самом верху, в значении Configure Command?
 

alekciy

Новичок
Gorynych
>платформа *NIX?
Да.

>php ставили сами или предустановленный хостером?
Все сам. Это поднимается для внутреннего ресурса. Выхода наружу не предполагается. По крайней мере пока.

>если сами, то как собирали? как насчет опции --with-dom=/usr/local
Этого сказать не могу. При установке из портов это все выставляеся сразу автоматом.

>кстати! что выдает phpinfo() в самом верху, в значении Configure Command?

'./configure' '--enable-versioning' '--enable-memory-limit' '--with-layout=GNU' '--with-config-file-scan-dir=/usr/local/etc/php' '--disable-all' '--enable-libxml' '--with-libxml-dir=/usr/local' '--enable-reflection' '--enable-spl' '--program-prefix=' '--enable-fastcgi' '--with-apxs2=/usr/local/sbin/apxs' '--with-regex=php' '--with-zend-vm=CALL' '--enable-debug' '--enable-zend-multibyte' '--disable-ipv6' '--prefix=/usr/local' 'i386-portbld-freebsd6.2'

Т.е. собственно libxml указана. Хотя DOM не вижу :( . А "дособрать" можно? Т.е. без полной начальной установки с нуля, а лишь откомпилить нужные части?

>потому как должно phpinfo() выдавать еще и что-то вроде
Хорошо. Буду разбираться с установкой этих модулей.

-~{}~ 29.03.07 17:27:

>потому как должно phpinfo() выдавать еще и что-то вроде
Ага, доставил DOM для PHP из порта (/usr/ports/textproc/php5-dom/). Теперь имем:

domDOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.26
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled


libxmllibXML support active
libXML Version 2.6.26
libXML streams enabled

Однако ошибка все равно не уходит...

-~{}~ 29.03.07 17:29:

Хотя нет, все нормально, просто видно в браузере кэша страница висела. Все, всем спасибо, с этим вроде разобрался. С остальным тоже думаю справлюсь.
 
Сверху