<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>32210</bug_id>
          
          <creation_ts>2016-06-22 13:41:27 +0300</creation_ts>
          <short_desc>DOM support is not enabled</short_desc>
          <delta_ts>2016-06-27 17:37:16 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>php5-libs</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>32209</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Cherepanov">cas</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>rider</cc>
    
    <cc>uka</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157414</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2016-06-22 13:41:27 +0300</bug_when>
    <thetext>+++ Данная ошибка создана размножением ошибки 32209 +++

Created an attachment (id=6756)
патч для пересборки php с встроенным модулем dom

При вызове XMLReader::expand() в коде PHP выводится предупреждение &quot;DOM support is not enabled&quot;, функция возвращает 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 &apos;phpinfo();&apos; | grep -A6 DOM
DOM/XML =&gt; enabled
DOM/XML API Version =&gt; 20031129
libxml Version =&gt; 2.9.2
HTML Support =&gt; enabled
XPath Support =&gt; enabled
XPointer Support =&gt; enabled
Schema Support =&gt; enabled
RelaxNG Support =&gt; enabled


$ php -r &apos;$xml = new XMLReader(); $xml-&gt;XML(&quot;&lt;root/&gt;&quot;); $xml-&gt;read(); $obj = $xml-&gt;expand();&apos;
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, &quot;DOM support is not enabled&quot;);
    return;
#endif
}

При этом у нас модуль xmlreader собран вместе с php5-libs, а dom вынесен в отдельный модуль.

Проблему решает, например, пересборка php5 с --enable-dom (патч на спек в аттаче).
Другой вариант - сделать как центосе. Там xml модули, включая xmlreader и dom, собраны отдельными модулями, но собираются все вместе в один пакет php-xml</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157415</commentid>
    <comment_count>1</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2016-06-22 13:46:40 +0300</bug_when>
    <thetext>Эта ошибка только в p7, на Sisyphus в этом плане всё хорошо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157416</commentid>
    <comment_count>2</comment_count>
    <who name="Andrey Cherepanov">cas</who>
    <bug_when>2016-06-22 13:50:37 +0300</bug_when>
    <thetext>Что будем делать в p7?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157417</commentid>
    <comment_count>3</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2016-06-22 13:52:16 +0300</bug_when>
    <thetext>Воспроизвёл, сейчас посмотрю что можно сделать.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157418</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2016-06-22 13:59:26 +0300</bug_when>
    <thetext>попробую вынести в отдельный пакет по аналогии с centos, мне это решение нравится больше.
Только вот в centos это всё собирается из одного исходника, а у нас из многих десятков, что привносит свои &quot;минусы&quot;.
Ждите исправления в Sisyphus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157469</commentid>
    <comment_count>5</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2016-06-27 17:37:16 +0300</bug_when>
    <thetext>исправлено в 5.6.23.20160621-alt1 (добавлен подпакет php5-xmlreader)</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>