配置PHPMyAdmin以连接到远程数据库

配置PHPMyAdmin以连接到远程数据库

在谷歌搜索了使用 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';

请注意,配置数组称为 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 中这些配置数据存储在哪里/如何存储以及如何编辑?

答案1

您正在读取错误目录中的文件。

设置存储config.inc.phpphpMyAdmin 的安装目录;例如/usr/share/webapps/phpMyAdmin/config.inc.php。不要再深入挖掘了。

(您可以在此找到文件、、、config.sample.inc.php等。)ChangeLogfavicon.ico

答案2

我发现了我的错误:

看起来这不是版本差异的问题,而是文件名重复的问题。指定的文件名实际上存在于 3 个或更多目录中。请确保使用在PHPMyAdmin 主目录

相关内容