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

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

    <bug>
          <bug_id>22083</bug_id>
          
          <creation_ts>2009-10-27 17:15:11 +0300</creation_ts>
          <short_desc>PHP не может загрузить MySQL extension после обновления</short_desc>
          <delta_ts>2010-01-27 19:12:11 +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>php-base</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anatoly Lyutin">vostok</reporter>
          <assigned_to name="Anton Farygin">rider</assigned_to>
          <cc>boris</cc>
    
    <cc>lav</cc>
    
    <cc>legion</cc>
    
    <cc>naf</cc>
    
    <cc>php-coder</cc>
    
    <cc>rider</cc>
    
    <cc>vvk</cc>
    
    <cc>zidex</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>102230</commentid>
    <comment_count>0</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2009-10-27 17:15:11 +0300</bug_when>
    <thetext>Где-то месяц назад при прыжке с branch 5.0 на Платформу5 (Сизиф ?) обновил всё что могло обновляться. И сейчас у меня сизиф актуальный. PHPMyAdmin стал после этого ругаться : &quot;cannot load MySQL extension, please check PHP Configuration&quot;.

P.S: Я даже не знаю на кого вешать багу точно, на php, mysql или pma. Решил, что раз php не смог найти после обновления extensions, то виноват он. Все необходимые пакеты, по-моему, стоят.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102231</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2009-10-27 17:25:02 +0300</bug_when>
    <thetext>Я не знаю, что такое Платформу5 (Сизиф ?). Это новое имя сизифа ? Если это какой-то дистрибутив, то обращайтесь к мантейнерам в этом дистрибутиве.

Какая версия php ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102239</commentid>
    <comment_count>2</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2009-10-27 18:39:36 +0300</bug_when>
    <thetext>php 5.2.11

Платформа 5 - это http://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch/

как я понимаю за этим сейчас скрывается сизиф.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102240</commentid>
    <comment_count>3</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2009-10-27 18:40:26 +0300</bug_when>
    <thetext>Пакет : php5-5.2.11.20090722-alt1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102266</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2009-10-28 07:34:58 +0300</bug_when>
    <thetext>А что творится в /php.d/ ? 
У меня достаточно регулярно при обновлении (и при начальной установке тоже) наблюдается появление там файлов &lt;extension&gt;.rpmnew с загрузкой внутри совсем отличных от &lt;extension&gt; модулей. Т.е., например, может появится suhosin.rpmnew с содержимым &quot;extension=dom.so&quot;. И отсутствием файла dom.ini. Или наоборот.
Системы пока я не нашёл, увы. Началось такое где-то начиная с 5.2.7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102280</commentid>
    <comment_count>5</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2009-10-28 13:26:39 +0300</bug_when>
    <thetext>В 5.2.11

В apache_mod_php/php.d есть только mysqli.ini
В cgi/php.d нет ничего с mysql*
В cli/php.d есть mysql.ini и mysqli.ini

P.S:
Кстати, у меня php так же перестал загружать mcrypt. Это сюда же или в отдельную багу?

P.P.S:
mcrypt.ini есть только в cli/php.d</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102281</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2009-10-28 14:15:57 +0300</bug_when>
    <thetext>(В ответ на комментарий №5)
&gt; В 5.2.11
&gt; 
&gt; В apache_mod_php/php.d есть только mysqli.ini

Значит, mysql.ini не создался при установке пакета. Соответственно, расширение не загружается.

&gt; ...
&gt; Кстати, у меня php так же перестал загружать mcrypt. ...
&gt; mcrypt.ini есть только в cli/php.d

Это то же самое.

Где-то сбоит создание файлов *.ini в /php.d/. 
Причём случайным образом, и результаты зависят от того, какие и в каком порядке ставились расширения, и сколько их ставилось в одном вызове apt-get.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102282</commentid>
    <comment_count>7</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2009-10-28 15:08:36 +0300</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; Где-то сбоит создание файлов *.ini в /php.d/. 
&gt; Причём случайным образом, и результаты зависят от того, какие и в каком порядке
&gt; ставились расширения, и сколько их ставилось в одном вызове apt-get.

Я тогда правильно всё в этой баге описал? Или она трудновоспроизводимая и, следовательно, починке не подлежит?

P.S: 
В оставшемся у меня /etc/php/5.2.7/apache-mod_php/php.d mysql.ini присутствует, так же как mcrypt.ini</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102309</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Gladkov">legion</who>
    <bug_when>2009-10-29 03:05:31 +0300</bug_when>
    <thetext>(В ответ на комментарий №6)
&gt; Где-то сбоит создание файлов *.ini в /php.d/. 
&gt; Причём случайным образом, и результаты зависят от того, какие и в каком порядке
&gt; ставились расширения, и сколько их ставилось в одном вызове apt-get.

$ rpmquery --lastchange php-base |sed -e &apos;s/altlinux//&apos;
* Птн Окт 10 2008 Alexey Gladkov &lt;legion@.ru&gt; 2.4-alt1

- Create .phpnew only if config file changed.
- Change license.
- Fix Requires.

Пакет реализующий механизм создания *.ini не менялся очень давно (предполагаю, что это было даже до branch-5.0). Если что-то и сломалось, то вокруг него.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102311</commentid>
    <comment_count>9</comment_count>
    <who name="Nikolay A. Fetisov">naf</who>
    <bug_when>2009-10-29 06:01:11 +0300</bug_when>
    <thetext>(В ответ на комментарий №8)
&gt; ...
&gt; Пакет реализующий механизм создания *.ini не менялся очень давно (предполагаю,
&gt; что это было даже до branch-5.0). Если что-то и сломалось, то вокруг него.

В branch-5.0 проблема с потерей *.ini уж есть.

На текущем Sisyphus, для x86_64, воспроизводится при установке в пустую VE пачки пакетов:

# apt-get install apache2-httpd-prefork apache2 apache2-mod_php5 \
apache2-mod_rpaf apache2-mod_security \
php5-bz2 php5-calendar php5-curl php5-dba php5-dom \
php5-exif php5-gd2 php5-gmp php5-mbstring php5-mcrypt \
php5-mhash php5-mysql php5-mysqli php5-simplexml \
php5-soap php5-suhosin php5-xmlrpc php5-xsl php5-zip

В итоге
# ls /etc/php/5.2.11/apache2-mod_php/php.d
bz2.ini       curl.ini  exif.ini  gmp.ini       mcrypt.ini  mysql.ini   simplexml.ini  suhosin.ini         xmlrpc.ini  zip.ini
calendar.ini  dba.ini   gd.ini    mbstring.ini  mhash.ini   mysqli.ini  soap.ini       suhosin.ini.phpnew  xsl.ini

Где
# cat /etc/php/5.2.11/apache2-mod_php/php.d/suhosin.ini.phpnew
extension=dom.so

Т.е., dom.ini отсутствует; то, что должно быть dom.ini - suhosin.ini.phpnew.

В ходе установки:
...
 1: php-base
...
22: php5-libs
23: php5-suhosin
24: php5                                       
25: php5-dom
...
50: apache2-mod_php5
warning: /etc/php/5.2.11/apache2-mod_php/php.d/suhosin.ini created as /etc/php/5.2.11/apache2-mod_php/php.d/suhosin.ini.phpnew
...
53: php5-bz2
... и остальные php5-* ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104829</commentid>
    <comment_count>10</comment_count>
    <who name="Vitaly Lipatov">lav</who>
    <bug_when>2009-12-25 21:36:39 +0300</bug_when>
    <thetext>(В ответ на комментарий №9)
 
&gt; Т.е., dom.ini отсутствует; то, что должно быть dom.ini - suhosin.ini.phpnew.
Подтверждаю.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106037</commentid>
    <comment_count>11</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-01-27 17:25:17 +0300</bug_when>
    <thetext>Проверьте это на свежем Sisyphus

У меня вроде как нормально.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106038</commentid>
    <comment_count>12</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2010-01-27 17:35:57 +0300</bug_when>
    <thetext>У меня всё так же как и в комментарии №5 или мне надо удалить phpmyadmin, php и mysql и поставить заново?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106039</commentid>
    <comment_count>13</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-01-27 17:52:58 +0300</bug_when>
    <thetext>Да, здесь нужна именно переустановка.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106040</commentid>
    <comment_count>14</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-01-27 17:57:35 +0300</bug_when>
    <thetext>Единственное, вылезает проблема:
15: php5-suhosin                          ################################################################################################### [ 28%]
cp: cannot create regular file `/etc/php/5.2.11/cli/php.d/suhosin.ini&apos;: No such file or directory
error: execution of %post scriptlet from php5-suhosin-0.9.27-alt3 failed, exit status 1

Это связано с тем, что  /usr/share/php/5.2.11/service/cli
 запакован в php5-libs, а не в php5
Соответственно пытается запускаться настройка для suhosin.ini.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106049</commentid>
    <comment_count>15</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2010-01-27 18:30:24 +0300</bug_when>
    <thetext>Да, подтверждаю что mysql.ini и mcript.ini появляются в /etc/php/5.2.11/apache-mod_php/php.d/ после переустановки пакетов.

Наверное эту багу можно закрыть.

&gt;Это связано с тем, что  /usr/share/php/5.2.11/service/cli
&gt; запакован в php5-libs, а не в php5
&gt;Соответственно пытается запускаться настройка для suhosin.ini.

В другую багу? Я не сталкивался с ней, поэтому прошу пересоздать заинтересованное лицо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106057</commentid>
    <comment_count>16</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-01-27 18:49:55 +0300</bug_when>
    <thetext>Пересоздавать новую не будем, исправление уже у меня в git&apos;е:
http://git.altlinux.org/people/rider/packages/php5.git?p=php5.git;a=commitdiff;h=750956351920505430be36ba1bc56affc3bfe2d8

Эта ошибка исправлена в php-base-2.4-alt2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106061</commentid>
    <comment_count>17</comment_count>
    <who name="Anatoly Lyutin">vostok</who>
    <bug_when>2010-01-27 19:01:18 +0300</bug_when>
    <thetext>Хорошо.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106063</commentid>
    <comment_count>18</comment_count>
    <who name="Sergey Kurakin">kurakin</who>
    <bug_when>2010-01-27 19:09:22 +0300</bug_when>
    <thetext>(In reply to comment #14)
&gt; 15: php5-suhosin                         
&gt; cp: cannot create regular file `/etc/php/5.2.11/cli/php.d/suhosin.ini&apos;: No such
&gt; file or directory
&gt; error: execution of %post scriptlet from php5-suhosin-0.9.27-alt3 failed, exit
&gt; status 1
&gt; 
&gt; Это связано с тем, что  /usr/share/php/5.2.11/service/cli
&gt;  запакован в php5-libs, а не в php5
&gt; Соответственно пытается запускаться настройка для suhosin.ini.

Именно так. Объясню подробнее.

Несколько дней назад я отправил в Сизиф новую сборку php-base (2.4-alt2), которая должна была закрыть (и закрыла) эту багу в том числе. По существу, в старой версии alt1 была путаница с именами файлов, которую я устранил. Вот этот коммит:

http://git.altlinux.org/people/kurakin/packages/?p=php-base.git;a=commitdiff;h=0b7862f83d88a9b17764b216559cd6234d33bc19

Кроме того, я сделал еще одно изменение:

http://git.altlinux.org/people/kurakin/packages/?p=php-base.git;a=commitdiff;h=b7e292e9561f4e595c4f11cd9aaef6935fe746b2

Суть его в том, чтобы получать список установленных sapi не через /etc/php/5.2.11/sapi_name, а через /usr/share/php/5.2.11/service/sapi_name. Что, вообще говоря, правильнее, поскольку /etc/php/5.2.11/sapi_name может оставаться и после удаления sapi, например, из-за лежащего там php.ini.rpmsave.

Но я не обратил внимание, что /etc/php/5.2.11/cli и /usr/share/php/5.2.11/service/cli оказались в разных пакетах. Как заметил Антон, они должны бы оба быть запакованы в php5.

Сейчас сделаю временный костыль (дополнительную проверку существования директории) для обхода этой проблемы в php-base.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>106064</commentid>
    <comment_count>19</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2010-01-27 19:12:11 +0300</bug_when>
    <thetext>да, как временное решение - сделай пожалуйста.

Вообще, корректное исправление - это перенос каталога. Я уже начал набивать task с новым PHP, постараюсь закончить как можно быстрее.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>