phpmyadmin
Время для прочтения: 1 мин. 28 сек.

Исправляем ошибку «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';
?>

Для вставки кода используйте HTML-теги
<pre><code class="php">ваш код</code></pre>

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

Такой e-mail уже зарегистрирован. Воспользуйтесь формой входа или введите другой.

Вы ввели некорректные логин или пароль

Извините, для комментирования необходимо войти.