1

Тема: phpmyadmin 3.4.0 Дополнительные настройки

Здравствуйте, возникла проблема после обновления до 3.4.0 (final)
На одном сервере все ок, на другом при нажатии на ссылку

2

Re: phpmyadmin 3.4.0 Дополнительные настройки

Пожалуйста, повторите сообщение, что-то с ним случилось, видимо.

3

Re: phpmyadmin 3.4.0 Дополнительные настройки

Здравствуйте, возникла проблема после обновления до 3.4.0 (final) На одном сервере все ок, на другом при нажатии на ссылку

4

Re: phpmyadmin 3.4.0 Дополнительные настройки

Да чтож такое

5

Re: phpmyadmin 3.4.0 Дополнительные настройки

Здравствуйте, возникла проблема после обновления до 3.4.0 (final) На одном сервере все ок, на другом при нажатии на ссылку "дополнительные настройки" или "параметры" появляется белый экран в основном фрейме. В логах апача и php - тишина. Все модули из phpmyadmin requirements стоят. В какую сторону копать и как бы это продиагностировать?

6

Re: phpmyadmin 3.4.0 Дополнительные настройки

Страница дополнительных настроек открывается по ссылке http://localhost/pma/prefs_manage.php Поэтому можно попробовать ее запустить напрямую и затем смотреть возвращаемые сервером заголовки и логи доступа (access.log). Что-то конкретнее посоветовать пока не могу.

Вы не подскажете, на каком символе форум обрезал ваше сообщение? Не могу понять почему это иногда происходит. Спасибо.

7 (изменено: pavelvd, 2011-05-13 09:01:20)

Re: phpmyadmin 3.4.0 Дополнительные настройки

Debug показал что рушится в
/libraries/user_preferences.lib.php

function PMA_userprefs_pageinit()
{
    $forms_all_keys = PMA_read_userprefs_fieldnames($GLOBALS['forms']);
    $cf = ConfigFile::getInstance();
    $cf->resetConfigData(); // start with a clean instance
    $cf->setAllowedKeys($forms_all_keys);
    $cf->setCfgUpdateReadMapping(array(
        'Server/hide_db' => 'Servers/1/hide_db',
        'Server/only_db' => 'Servers/1/only_db'));
    $cf->updateWithGlobalConfig($GLOBALS['cfg']);
}

на строке
$cf = ConfigFile::getInstance();


А сообщения резались, судя по всему на кавычке

8

Re: phpmyadmin 3.4.0 Дополнительные настройки

Удалось еще уточнить-
валится
в файле ConfigFile.class.php

    private function __construct()
    {
        // load default config values
        $cfg = &$this->cfg;
        require './libraries/config.default.php';
        $cfg['fontsize'] = '82%';
        // create PMA_Config to read config.inc.php values
        $this->orgCfgObject = new PMA_Config(CONFIG_FILE);
        // load additional config information
        $cfg_db = &$this->cfgDb;
        require './libraries/config.values.php';

        // apply default values overrides
        if (count($cfg_db['_overrides'])) {
            foreach ($cfg_db['_overrides'] as $path => $value) {
                PMA_array_write($path, $cfg, $value);
            }
        }

        $this->id = 'ConfigFile' . $GLOBALS['server'];
        if (!isset($_SESSION[$this->id])) {
            $_SESSION[$this->id] = array();
        }
    }

на строке
$this->orgCfgObject = new PMA_Config(CONFIG_FILE);

9

Re: phpmyadmin 3.4.0 Дополнительные настройки

pavelvd сказал:

$this->orgCfgObject = new PMA_Config(CONFIG_FILE);

Здесь происходит чтение конфигурационного файла. Попробуйте создать config.inc.php заново, с изначального файла config.sample.inc.php.

10

Re: phpmyadmin 3.4.0 Дополнительные настройки

Это я понимаю, и да, конфиг у меня не совсем стандартный - список серверов подгружается из внешней БД, затем отдельно сортируется и т.д. Однако : аналогичный конфиг на этой версии на другом сервере работает корректно. Этот же конфиг на всех предыдущих версиях работал корректно. Да и странно: конфиг же он загружает , т.к. все работает - список серверов отображается, все операции работают корректно, не работает только эта ссылка с пользовательскими настройками

11

Re: phpmyadmin 3.4.0 Дополнительные настройки

pavelvd сказал:

не работает только эта ссылка с пользовательскими настройками

Хотел бы помочь, но, к сожалению, больше ничего сказать не могу. Не знаю что может быть причиной такого поведения.

12

Re: phpmyadmin 3.4.0 Дополнительные настройки

Просто удивляет отсутствие каких-либо ошибок в логах. Может они где-то в pma подавляются?

13

Re: phpmyadmin 3.4.0 Дополнительные настройки

Я не нашел в файле ConfigFile.class.php тех строк, что вы привели, конкретно конструктор (создание) класса в phpMyAdmin 3.4 идет по другому.

14

Re: phpmyadmin 3.4.0 Дополнительные настройки

Разобрался.
Косяк был в ручной сортировке списка серверов в конфиге

function sort_servers_by_verbose($arr)
{
 $buf=array();
 $n=count($arr);
 for($i=1;$i<=$n;$i++)
 {
  $buf[$i]=$arr[$i]['verbose'];
 }
 asort($buf);
 $k=array_keys($buf);
 $tmp=array();
 $i=1;
 while($val=array_shift($k))
 {
  $tmp[$i]=$arr[$val];
  $i++;
 }
 return $tmp;
}

$result=array();
$result['Servers']=sort_servers_by_verbose($cfg['Servers']);
$k=array_keys($cfg);
while($i=array_shift($k))
{
 if("Servers" != $i)
 {
  $result[$i]=$cfg[$i];
 }
}
unset($cfg);
$cfg=$result;

убрал этот пережиток, переделал по человечески, теперь все ок) В любом случае спасибо за потраченное время )