Где-то месяц назад при прыжке с branch 5.0 на Платформу5 (Сизиф ?) обновил всё что могло обновляться. И сейчас у меня сизиф актуальный. PHPMyAdmin стал после этого ругаться : "cannot load MySQL extension, please check PHP Configuration". P.S: Я даже не знаю на кого вешать багу точно, на php, mysql или pma. Решил, что раз php не смог найти после обновления extensions, то виноват он. Все необходимые пакеты, по-моему, стоят.
Я не знаю, что такое Платформу5 (Сизиф ?). Это новое имя сизифа ? Если это какой-то дистрибутив, то обращайтесь к мантейнерам в этом дистрибутиве. Какая версия php ?
php 5.2.11 Платформа 5 - это http://ftp.altlinux.org/pub/distributions/ALTLinux/p5/branch/ как я понимаю за этим сейчас скрывается сизиф.
Пакет : php5-5.2.11.20090722-alt1
А что творится в /php.d/ ? У меня достаточно регулярно при обновлении (и при начальной установке тоже) наблюдается появление там файлов <extension>.rpmnew с загрузкой внутри совсем отличных от <extension> модулей. Т.е., например, может появится suhosin.rpmnew с содержимым "extension=dom.so". И отсутствием файла dom.ini. Или наоборот. Системы пока я не нашёл, увы. Началось такое где-то начиная с 5.2.7.
В 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
(В ответ на комментарий №5) > В 5.2.11 > > В apache_mod_php/php.d есть только mysqli.ini Значит, mysql.ini не создался при установке пакета. Соответственно, расширение не загружается. > ... > Кстати, у меня php так же перестал загружать mcrypt. ... > mcrypt.ini есть только в cli/php.d Это то же самое. Где-то сбоит создание файлов *.ini в /php.d/. Причём случайным образом, и результаты зависят от того, какие и в каком порядке ставились расширения, и сколько их ставилось в одном вызове apt-get.
(В ответ на комментарий №6) > Где-то сбоит создание файлов *.ini в /php.d/. > Причём случайным образом, и результаты зависят от того, какие и в каком порядке > ставились расширения, и сколько их ставилось в одном вызове apt-get. Я тогда правильно всё в этой баге описал? Или она трудновоспроизводимая и, следовательно, починке не подлежит? P.S: В оставшемся у меня /etc/php/5.2.7/apache-mod_php/php.d mysql.ini присутствует, так же как mcrypt.ini
(В ответ на комментарий №6) > Где-то сбоит создание файлов *.ini в /php.d/. > Причём случайным образом, и результаты зависят от того, какие и в каком порядке > ставились расширения, и сколько их ставилось в одном вызове apt-get. $ rpmquery --lastchange php-base |sed -e 's/altlinux//' * Птн Окт 10 2008 Alexey Gladkov <legion@.ru> 2.4-alt1 - Create .phpnew only if config file changed. - Change license. - Fix Requires. Пакет реализующий механизм создания *.ini не менялся очень давно (предполагаю, что это было даже до branch-5.0). Если что-то и сломалось, то вокруг него.
(В ответ на комментарий №8) > ... > Пакет реализующий механизм создания *.ini не менялся очень давно (предполагаю, > что это было даже до 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-* ...
(В ответ на комментарий №9) > Т.е., dom.ini отсутствует; то, что должно быть dom.ini - suhosin.ini.phpnew. Подтверждаю.
Проверьте это на свежем Sisyphus У меня вроде как нормально.
У меня всё так же как и в комментарии №5 или мне надо удалить phpmyadmin, php и mysql и поставить заново?
Да, здесь нужна именно переустановка.
Единственное, вылезает проблема: 15: php5-suhosin ################################################################################################### [ 28%] cp: cannot create regular file `/etc/php/5.2.11/cli/php.d/suhosin.ini': 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.
Да, подтверждаю что mysql.ini и mcript.ini появляются в /etc/php/5.2.11/apache-mod_php/php.d/ после переустановки пакетов. Наверное эту багу можно закрыть. >Это связано с тем, что /usr/share/php/5.2.11/service/cli > запакован в php5-libs, а не в php5 >Соответственно пытается запускаться настройка для suhosin.ini. В другую багу? Я не сталкивался с ней, поэтому прошу пересоздать заинтересованное лицо.
Пересоздавать новую не будем, исправление уже у меня в git'е: http://git.altlinux.org/people/rider/packages/php5.git?p=php5.git;a=commitdiff;h=750956351920505430be36ba1bc56affc3bfe2d8 Эта ошибка исправлена в php-base-2.4-alt2
Хорошо.
(In reply to comment #14) > 15: php5-suhosin > cp: cannot create regular file `/etc/php/5.2.11/cli/php.d/suhosin.ini': 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. Именно так. Объясню подробнее. Несколько дней назад я отправил в Сизиф новую сборку 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.
да, как временное решение - сделай пожалуйста. Вообще, корректное исправление - это перенос каталога. Я уже начал набивать task с новым PHP, постараюсь закончить как можно быстрее.