Исправляем ошибку «Call to undefined function PMA_selectServer()» в phpMyAdmin 4.0.0

Ошибка «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';
?>

Источник: https://www.kobzarev.com/programming/fix-the-error-call-to-undefined-function-pma-selectserver-in-the-phpmyadmin-4-0-0/

Михаил Кобзарёв

Суровый русский тимлид. Жил в Магадане, в офисе московских веб студий и в Тульской деревне. Виртуозно знает WordPress, PHP, ООП, Vue.js и вот это вот все. Делает крутые высоконагруженные сайты, поэтому уже почти захватил весь рынок WordPress разработки в России. Не дает никому делать сайты без спроса. Ведет блог о разработке, дайджест в телеграмме и в ВК. Любит сиськи, баню и радиоэлектронику. 100% патриот (но это не точно). Тролль 542 уровня. Ездит в отпуск раз в 5 лет.

Добавить комментарий

%d такие блоггеры, как: