Тема: phpmyadmin 3.4.0 Дополнительные настройки
Здравствуйте, возникла проблема после обновления до 3.4.0 (final)
На одном сервере все ок, на другом при нажатии на ссылку
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форум PHP-MyAdmin.RU → Работа с phpMyAdmin → phpmyadmin 3.4.0 Дополнительные настройки
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здравствуйте, возникла проблема после обновления до 3.4.0 (final)
На одном сервере все ок, на другом при нажатии на ссылку
Пожалуйста, повторите сообщение, что-то с ним случилось, видимо.
Здравствуйте, возникла проблема после обновления до 3.4.0 (final) На одном сервере все ок, на другом при нажатии на ссылку
Да чтож такое
Здравствуйте, возникла проблема после обновления до 3.4.0 (final) На одном сервере все ок, на другом при нажатии на ссылку "дополнительные настройки" или "параметры" появляется белый экран в основном фрейме. В логах апача и php - тишина. Все модули из phpmyadmin requirements стоят. В какую сторону копать и как бы это продиагностировать?
Страница дополнительных настроек открывается по ссылке http://localhost/pma/prefs_manage.php Поэтому можно попробовать ее запустить напрямую и затем смотреть возвращаемые сервером заголовки и логи доступа (access.log). Что-то конкретнее посоветовать пока не могу.
Вы не подскажете, на каком символе форум обрезал ваше сообщение? Не могу понять почему это иногда происходит. Спасибо.
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();
А сообщения резались, судя по всему на кавычке
Удалось еще уточнить-
валится
в файле 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);
$this->orgCfgObject = new PMA_Config(CONFIG_FILE);
Здесь происходит чтение конфигурационного файла. Попробуйте создать config.inc.php заново, с изначального файла config.sample.inc.php.
Это я понимаю, и да, конфиг у меня не совсем стандартный - список серверов подгружается из внешней БД, затем отдельно сортируется и т.д. Однако : аналогичный конфиг на этой версии на другом сервере работает корректно. Этот же конфиг на всех предыдущих версиях работал корректно. Да и странно: конфиг же он загружает , т.к. все работает - список серверов отображается, все операции работают корректно, не работает только эта ссылка с пользовательскими настройками
не работает только эта ссылка с пользовательскими настройками
Хотел бы помочь, но, к сожалению, больше ничего сказать не могу. Не знаю что может быть причиной такого поведения.
Просто удивляет отсутствие каких-либо ошибок в логах. Может они где-то в pma подавляются?
Я не нашел в файле ConfigFile.class.php тех строк, что вы привели, конкретно конструктор (создание) класса в phpMyAdmin 3.4 идет по другому.
Разобрался.
Косяк был в ручной сортировке списка серверов в конфиге
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;
убрал этот пережиток, переделал по человечески, теперь все ок) В любом случае спасибо за потраченное время )
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форум PHP-MyAdmin.RU → Работа с phpMyAdmin → phpmyadmin 3.4.0 Дополнительные настройки
Форум работает на PunBB, при поддержке Informer Technologies, Inc
Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.