После поиска в Google возможности использования PHPMyAdmin для подключения к удаленным базам данных я обнаружил эту статью, которая подтверждает, что это поддерживается после простого редактирования конфигурации.

В статье автор объясняет:

Файл config.inc.php содержит параметры конфигурации для вашей установки phpMyAdmin. Он использует массив для хранения наборов параметров конфигурации для каждого сервера, к которому он может подключиться, и по умолчанию есть только один, ваш собственный компьютер или локальный хост. Чтобы подключиться к другому серверу, вам необходимо добавить другой набор параметров конфигурации в массив конфигурации. Набор параметров конфигурации будет выглядеть примерно так:

$i++;
$cfg['Servers'][$i]['host']          = '';
$cfg['Servers'][$i]['port']          = '';
$cfg['Servers'][$i]['socket']        = '';
$cfg['Servers'][$i]['connect_type']  = 'tcp';
$cfg['Servers'][$i]['extension']     = 'mysql';
$cfg['Servers'][$i]['compress']      = FALSE;
$cfg['Servers'][$i]['auth_type']     = 'config';
$cfg['Servers'][$i]['user']          = 'username';
$cfg['Servers'][$i]['password']      = 'password';

Обратите внимание, что массив config называется cfg, и это многомерный массив, и что все серверы должны быть частью внутреннего массива $ cfg ["Servers"]. Это работает, используя инкрементную переменную $ i, которая устанавливает разные внутренние массивы для каждого сервера внутри массива $ cfg ["Servers"]. Чтобы это работало, вы должны убедиться, что каждый новый набор параметров конфигурации начинается с увеличенного $ i с использованием $ i++.

Однако, когда я просмотрел этот файл в моих файлах PHPMyAdmin, я обнаружил, что его содержимое отличается от ожидаемого:

<?php
/* vim: set expandtab sw=4 ts=4 sts=4: */
/**
 * Config file view and save screen
 *
 * @package PhpMyAdmin-Setup
 */

if (!defined('PHPMYADMIN')) {
    exit;
}

/**
 * Core libraries.
 */
require_once './libraries/config/FormDisplay.class.php';
require_once './setup/lib/index.lib.php';
require_once './setup/lib/ConfigGenerator.class.php';

$config_readable = false;
$config_writable = false;
$config_exists = false;
check_config_rw($config_readable, $config_writable, $config_exists);
?>
<h2><?php echo __('Configuration file') ?></h2>
<?php PMA_displayFormTop('config.php'); ?>
<input type="hidden" name="eol" value="<?php echo htmlspecialchars(PMA_ifSetOr($_GET['eol'], 'unix')) ?>" />
<?php PMA_displayFieldsetTop('', '', null, array('class' => 'simple')); ?>
<tr>
    <td>
        <textarea cols="50" rows="20" name="textconfig" id="textconfig" spellcheck="false"><?php
            echo htmlspecialchars(ConfigGenerator::getConfigFile())
        ?></textarea>
    </td>
</tr>
<tr>
    <td class="lastrow" style="text-align: left">
        <input type="submit" name="submit_download" value="<?php echo __('Download') ?>" class="green" />
        <input type="submit" name="submit_save" value="<?php echo __('Save') ?>"<?php
if (!$config_writable) {
    echo ' disabled="disabled"';
} ?> />
    </td>
</tr>
<?php
PMA_displayFieldsetBottomSimple();
PMA_displayFormBottom();
?>

Кто-нибудь знает, где и как, в более свежих версиях PHPMyAdmin эти данные конфигурации хранятся и могут быть отредактированы?

2 ответа2

0

Вы читаете файл в неправильном каталоге.

Настройки хранятся в config.inc.php в корне установочного каталога phpMyAdmin; например, /usr/share/webapps/phpMyAdmin/config.inc.php . Не копайте глубже, чем это.

(Это то же самое место, где вы можете найти файлы config.sample.inc.php , ChangeLog , favicon.ico и тому подобное.)

0

Я обнаружил свою ошибку:

Похоже, что это не проблема различий в версии, а дубликатов имен файлов. Указанное имя файла фактически существует в 3 или более каталогах. Убедитесь, что вы используете тот, который находится в основном каталоге PHPMyAdmin.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .