You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Win Server 2019下XAMPP部署Invision Community遇MySQL权限错误求助

解决Invision Community安装时MySQL权限拒绝问题

我来帮你梳理下这个问题的核心和解决方案,你遇到的Access denied for user ''@'localhost' (using password: NO)错误,本质是Invision的检测脚本ips4.php在尝试空用户名、无密码连接MySQL时被拒绝了,结合两台服务器的环境差异,主要是PHP和MariaDB版本的兼容性导致的,以下是针对性的解决步骤:

1. 调整MariaDB的root用户认证方式

MariaDB 10.4及以后版本默认的用户认证方式(比如unix_socket或caching_sha2_password)和PHP 8.x的mysqli扩展兼容性不如旧版的mysql_native_password,尤其是空密码场景:

  • 打开XAMPP的Shell,执行mysql -u root(因为你当前root无密码)登录MariaDB;
  • 执行查询查看当前root用户的认证插件:
    SELECT user, host, plugin FROM mysql.user WHERE user='root';
    
  • 如果插件不是mysql_native_password,执行以下命令修改(保持空密码):
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';
    FLUSH PRIVILEGES;
    
  • 重启XAMPP中的MySQL服务。

2. 修复phpMyAdmin的登录问题

你提到设置root密码后无法登录且无登录请求,这是phpMyAdmin的配置问题:

  • 打开xampp/phpMyAdmin/config.inc.php文件;
  • 找到$cfg['Servers'][$i]['auth_type'],将其值从config改为cookie,这样会弹出登录框;
  • 如果需要保持空密码登录,确保以下配置未被注释:
    $cfg['Servers'][$i]['AllowNoPassword'] = true;
    
  • 保存配置后重启Apache服务。

3. 临时修改检测脚本的连接参数

ips4.php作为检测脚本,可能硬编码了无参数的MySQL连接逻辑,导致无法通过权限检测:

  • 打开C:\xampp\htdocs\ips4.php,定位到第317行附近的mysqli->__construct调用;
  • 将原代码(类似new mysqli('localhost'))修改为传入正确的用户名和空密码:
    new mysqli('localhost', 'root', '')
    
  • 保存后刷新安装页面,应该能跳过检测进入正常的数据库配置环节。

4. 匹配兼容的环境版本

如果上述方法无效,大概率是Invision Community对PHP 8.2和MariaDB 10.4的兼容性不足:

  • 查看Invision官方的系统要求,确认是否支持当前的PHP和数据库版本;
  • 直接降级XAMPP到服务器1使用的版本(比如XAMPP 7.3.7),完全复刻稳定运行的环境,这是最稳妥的解决方案。

操作前记得备份好数据库和配置文件,避免数据丢失。

内容的提问来源于stack exchange,提问作者Koyakami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 17:55:39