Bug 32210

Summary: DOM support is not enabled
Product: Sisyphus Reporter: Andrey Cherepanov <cas>
Component: php5-libsAssignee: Anton Farygin <rider>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: rider, uka
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 32209    

Description Andrey Cherepanov 2016-06-22 13:41:27 MSK
+++ Данная ошибка создана размножением ошибки 32209 +++

Created an attachment (id=6756)
патч для пересборки 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
Comment 1 Anton Farygin 2016-06-22 13:46:40 MSK
Эта ошибка только в p7, на Sisyphus в этом плане всё хорошо.
Comment 2 Andrey Cherepanov 2016-06-22 13:50:37 MSK
Что будем делать в p7?
Comment 3 Anton Farygin 2016-06-22 13:52:16 MSK
Воспроизвёл, сейчас посмотрю что можно сделать.
Comment 4 Anton Farygin 2016-06-22 13:59:26 MSK
попробую вынести в отдельный пакет по аналогии с centos, мне это решение нравится больше.
Только вот в centos это всё собирается из одного исходника, а у нас из многих десятков, что привносит свои "минусы".
Ждите исправления в Sisyphus.
Comment 5 Anton Farygin 2016-06-27 17:37:16 MSK
исправлено в 5.6.23.20160621-alt1 (добавлен подпакет php5-xmlreader)