Ошибка «Call to undefined function PMA_selectServer()» проявляется при установке в конфигурации config.inc.php phpMyAdmin более одного сервера.
Например:
<?php $i = 0; $cfg['Servers'] = array(); $i++; $cfg['Servers'][$i]['host'] = 'server_name_1'; $i++; $cfg['Servers'][$i]['host'] = 'server_name_2'; ?>
Сама функция PMA_selectServer определена в файле libraries/select_server.lib.php, но при настройках по умолчанию он просто не подключается.
Данную ошибку вы можете понять из кода файла index.php на линии 120:
<?php
if (! $cfg['NavigationDisplayServers']
&& (count($cfg['Servers']) > 1 || $server == 0 && count($cfg['Servers']) == 1)
) {
echo '<li id="li_select_server" class="no_bullets" >';
include_once 'libraries/select_server.lib.php';
echo PMA_Util::getImage('s_host.png') . " " . PMA_selectServer(true, true);
echo '</li>';
}
?>
Для исправления достаточно в конфигурационном файле дописать:
<?php $cfg['NavigationDisplayServers'] = false; ?>
Этот рецепт избавит вас от данной ошибки, но лишит вас возможности выбирать сервер из списка в верхнем фрейме
Если вы хотите оставить возможность выбора сервера из списка, но избавиться от данной ошибки, можно поправить файл libraries/navigation/NavigationHeader.class.php на линии 259 следующим образом:
заменить
<?php include_once './libraries/select_server.lib.php'; ?>
на
<?php include_once dirname(dirname(__FILE__)).'/select_server.lib.php'; ?>