PHPMyAdmin不允许连接

PHPMyAdmin不允许连接,php,mysql,phpmyadmin,xampp,Php,Mysql,Phpmyadmin,Xampp,我已在多台Windows 7和Windows 8计算机的完全干净安装上安装了XAMPP的干净副本,试图让PHPMyAdmin在设置了any的any计算机上运行,但未能运行 所有的机器都表现出以下奇怪的错误 尝试连接到127.0.0.1/phpmyadmin-或-localhost/phpmyadmin: 但是-如果机器的本地网络IP为,比如说,192.168.1.12,并且我将浏览器导航到:192.168.1.12/phpmyadmin,那么它可以正常加载,没有错误 因此,我的计算机可以通过网

我已在多台Windows 7和Windows 8计算机的完全干净安装上安装了XAMPP的干净副本,试图让PHPMyAdmin在设置了anyany计算机上运行,但未能运行

所有的机器都表现出以下奇怪的错误

尝试连接到
127.0.0.1/phpmyadmin
-或-
localhost/phpmyadmin

但是-如果机器的本地网络IP为,比如说,
192.168.1.12
,并且我将浏览器导航到:
192.168.1.12/phpmyadmin
,那么它可以正常加载,没有错误

因此,我的计算机可以通过网络自己连接到PHPMyAdmin,也可以通过网络彼此连接到PHPMyAdmin,但不能从本地主机连接

这是我通过网络访问PHPMyAdmin时的正确部分,如下所示:

我所尝试的:

我花了很多时间尝试在在线论坛上找到的所有可能的修复方法,包括:

  • 编辑我的计算机的主机文件
  • 编辑
    xampp/phpmyadmin/config.inc.php
    1000种不同的方式
  • 重新安装XAMPP,重新安装windows和XAMPP,手动卸载并重新安装MySQL/PHP/PHPMyAdmin等
  • 尝试了解套接字,以及是否可能存在某种我无法诊断的MySQL套接字错误。然而,MySQL运行得很好,我可以启动命令行,以root用户身份登录并运行MySQL命令。我也可以从我自己的本地主机web应用程序中运行PHP PDO MySQL命令,因此我几乎可以肯定PHPMyAdmin的安装是罪魁祸首,而不是MySQL本身
无论我做什么,我总是可以从
192.168.1.x/PHPMyAdmin
运行PHPMyAdmin,但决不能从
127.0.0.1/PHPMyAdmin
localhost/PHPMyAdmin
运行

请,任何人,任何人-任何建议或指针-帮助一个沮丧的程序员


谢谢。

127.0.0.1与localhost相同,指的是您的实际计算机。如果您尝试连接到127.0.0.1,phpMyAdmin将尝试打开到本地MySQL服务器的连接(该服务器仅存在于一台计算机上,您已安装了它..)

如果需要中央MySQL服务器,则必须使用正确的ip地址(可以通过ifconfig/ipconfig确定)并使用该地址。其次,您必须允许与此服务器的外部连接。默认行为是只允许来自127.0.0.1(仅MySQL服务器计算机)的连接。
要允许从外部机器访问root,您必须编辑mysql.ini文件,据我所知,该文件包含一个不允许从外部机器连接到root的属性。

我想我看到了您的问题。如果您看到config.inc.php中的错误,我认为问题出在它上面:

“配置中定义的controluser连接失败。”

所以我很确定你的问题来了,因为这些代码行:

/* User for advanced features */
$cfg['Servers'][$i]['controluser'] = 'pma';
$cfg['Servers'][$i]['controlpass'] = '';
现在试着只在config.inc.php中保留这些行,看看它是否有效。您可以删除其余部分,也可以将其余部分注释掉。您还可以尝试将
auth_type
更改为“cookie”

/*
 * This is needed for cookie based authentication to encrypt password in
 * cookie
 */
$cfg['blowfish_secret'] = 'xampp'; /* YOU SHOULD CHANGE THIS FOR A MORE SECURE COOKIE AUTH! */

/*
 * Servers configuration
 */
$i = 0;

/*
 * First server
 */
$i++;

/* Authentication type and info */
$cfg['Servers'][$i]['auth_type'] = 'config';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['AllowNoPassword'] = true;
$cfg['Lang'] = '';

/* Bind to the localhost ipv4 address and tcp */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';

基于php页面即将出现并且phpmyadmin给您一个错误的事实,这意味着您的hosts文件或.conf文件没有问题。我猜你总是复制并粘贴同一个config.inc.php文件,因此在每台机器上都会遇到相同的问题。

你的httpd.conf看起来怎么样?你的主机文件中有什么特别的地方吗?@metareviewr这些都是完全干净的Windows副本,没有对主机文件进行任何更改。我尝试了无数种方法来更改主机文件,但都没有任何帮助。(包括添加行
127.0.0.1 localhost
等)@Pieter这些都是XAMPP的干净副本,没有对httpd.conf或任何其他文件进行编辑。如果您想查看,我已经在这里上传了默认的XAMPP httpd.conf:-谢谢!那跟你的网络有关吗?!家庭网络还是大学?我不想要中央MySQL服务器,也不想通过网络访问PHPMyAdmin。我想从以下位置访问它:
127.0.0.1/phpmyadmin
或从
localhost/phpmyadmin
访问。目前两者都不可能。但是,我可以从以下位置访问它:
192.168.1.12/phpmyadmin
。这就是我试图解决的问题。因此,基本上,我可以轻松地从网络(和多台其他机器)访问PHPMyAdmin。我也可以从它所在的同一台机器上轻松访问它,但我必须输入机器的网络地址,而不是本地主机。我希望能够从同一台机器输入localhost(或127.0.0.1)。127.0.0.1和192.168.1.12是同一台机器吗?是的,绝对是。它们都是我的本地机器。如果您运行
cmd.exe
并键入
ipconfig
,它将告诉您您的网络IP,例如
192.168.1.8
。然后,如果您打开浏览器,您应该能够转到
127.0.0.1
192.168.1.8
,并且它们都应该指向同一个位置:您的本地web服务器。由于某些原因,PHPMyAdmin尤其只接受来自192.168.1.12的连接,而不接受来自127.0.0.1的连接。非常感谢您提供此解决方案,你完全正确。你认为我应该用XAMPP来标记那些
controluser
行从它们的默认
phpmyadmin/config.inc.php
中删除吗?它不会中断Windows XP的本地主机连接,但会中断Windows 7和Windows 8的本地主机连接。没问题。我不确定我是否总是将config.inc.php文件复制并粘贴到PhpMyAdmin的任何新安装中,因为我有10台带有自定义设置的服务器,所以我不知道默认设置中有什么。另外,如果你输入了这个错误,你会发现很多答案:好的建议。也许问题是我用谷歌搜索,而不是谷歌