我已经设置了我的wsl环境,成功安装了Apache、mysql和php。 我可以在我的命令行中访问 mysql,只能使用“sudo -u root -p”
即使使用正确的用户名和密码,我也无法登录到 phpmyadmin。 我附上了下面的图片以提供清晰的图片。
在文件 /etc/phpmyadmin/config-db.php
改变
$dbserver='localhost';
到
$dbserver='127.0.0.1';
重启 Apache2 ;-)
我遇到了同样的问题。我正在使用 ubuntu 20.04 和 wsl。使用 php7.3 创建灯服务器。创建了具有完全权限的新用户。来自 root 和其他用户,得到同样的错误。
但我得到了解决方案: 现在首先我们需要安装Selinux。以下是命令:
第 1 步 - 安装 Selinux:
sudo apt install policycoreutils selinux-utils selinux-basics
第 2 步 - 激活:
sudo selinux-activate
步骤 3 - 激活 httpd_can_network_connect_db 1:
默认情况下,策略 httpd_can_network_connect_db 被禁用(意味着您的 Web 服务器无法联系远程数据库。) 通过以下方式检查:
getsebool -a | grep httpd
如果 httpd_can_network_connect_db 关闭,通过以下方式启用它:
setsebool -P httpd_can_network_connect_db 1
第 4 步 - 可能需要更改: 在 /etc/phpmyadmin/config.inc.php 中将 localhost 更改为 127.0.0.1
$cfg['Servers'][$i]['host'] = '127.0.0.1';
第 6 步 - 重启 mysql 和 apache:
sudo service mysql start
sudi service apache2 start.
在 /etc/phpmyadmin/config.inc.php 中,只需取消注释行 $cfg['Servers'][$i]['host'] = 'localhost';