Summary: | DOM support is not enabled | ||||||
---|---|---|---|---|---|---|---|
Product: | Branch p7 | Reporter: | Yuriy Kashirin <uka> | ||||
Component: | php5-libs | Assignee: | Andrey Cherepanov <cas> | ||||
Status: | NEW --- | QA Contact: | qa-p7 <qa-p7> | ||||
Severity: | normal | ||||||
Priority: | P3 | ||||||
Version: | не указана | ||||||
Hardware: | all | ||||||
OS: | Linux | ||||||
Bug Depends on: | 32210 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Created attachment 6756 [details] патч для пересборки php с встроенным модулем dom При вызове XMLReader::expand() в коде PHP выводится предупреждение "DOM support is not enabled", функция возвращает null. При этом пакет php5-dom установлен, phpinfo() показывает, что расширение DOM присутствует, разрешено: $ rpm -q php5-libs php5-libs-5.5.24-alt0.M70P.1 $ rpm -q php5-dom php5-dom-5.5.24.20150415-alt1 $ php -r 'phpinfo();' | grep -A6 DOM DOM/XML => enabled DOM/XML API Version => 20031129 libxml Version => 2.9.2 HTML Support => enabled XPath Support => enabled XPointer Support => enabled Schema Support => enabled RelaxNG Support => enabled $ php -r '$xml = new XMLReader(); $xml->XML("<root/>"); $xml->read(); $obj = $xml->expand();' PHP Warning: DOM support is not enabled in Command line code on line 1 Проявляется на p7, но судя по всему, это актуально для всех веток. Проблема сидит в коде php - проверка доступности DOM в модуле xmlreader выполняется во время компиляции: PHP_METHOD(xmlreader, expand) { #ifdef HAVE_DOM .... #else php_error(E_WARNING, "DOM support is not enabled"); return; #endif } При этом у нас модуль xmlreader собран вместе с php5-libs, а dom вынесен в отдельный модуль. Проблему решает, например, пересборка php5 с --enable-dom (патч на спек в аттаче). Другой вариант - сделать как центосе. Там xml модули, включая xmlreader и dom, собраны отдельными модулями, но собираются все вместе в один пакет php-xml