我已经在多台Windows 7和Windows 8计算机的完全干净安装上安装了XAMPP的干净副本,试图让PHPMyAdmin在 任何 计算机上运行 任何 设置但无法完成。
所有机器都出现以下奇怪错误。
尝试连接127.0.0.1/phpmyadmin
- 或 - localhost/phpmyadmin
时:
但是 - 如果该机器具有本地网络IP,例如192.168.1.12
,我将浏览器导航到:192.168.1.12/phpmyadmin
- 它加载得很好而没有错误!
因此,我的计算机可以通过网络连接到PHPMyAdmin,也可以通过网络连接到PHPMyAdmin,但绝不能从localhost连接到它们。
当我通过网络访问PHPMyAdmin时,这是正确的部分:
我尝试过的事情:
我花了很多时间尝试在网上论坛上找到的所有可能的解决方案,包括:
xampp/phpmyadmin/config.inc.php
无论我做什么,我总是可以从192.168.1.x/phpmyadmin
开始运行PHPMyAdmin,但绝不会从127.0.0.1/phpmyadmin
或localhost/phpmyadmin
运行。
请某人,任何人 - 任何建议或指示 - 帮助一个沮丧的编码员。
谢谢。
答案 0 :(得分:1)
我想我看到了你的问题。我认为问题出在你的config.inc.php上,如果你看一下它所说的错误:
“配置中定义的控制用户连接失败。”
所以我很确定你的问题会因为这些代码行而出现:
/* 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文件,这样你就可以在每台机器上遇到同样的问题。
答案 1 :(得分:0)
127.0.0.1与localhost相同,并且是指您的实际计算机。如果您尝试连接到127.0.0.1,phpMyAdmin会尝试打开与本地MySQL服务器的连接(仅在一台计算机上存在,您已安装它...)
如果你想要一个中央MySQL服务器,你必须使用正确的ip地址(可以用ifconfig / ipconfig确定)并使用那个。其次,您必须允许外部连接到此服务器。默认行为是仅允许127.0.0.1(仅为MySQL Server计算机)的Connections。 要允许来自外部计算机的root访问,你必须编辑mysql.ini文件,据我所知,该文件包含一个禁止从外部计算机连接到root的属性。