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

Windows11下XAMPP 8.2.0运行PDO连接提示could not find driver求助

解决XAMPP 8.2.0在Windows 11下PDO MySQL驱动找不到的问题

问题描述

一段可在笔记本正常运行的PDO MySQL连接代码,在Windows 11台式机的XAMPP 8.2.0环境中运行时,始终提示could not find driver,且无论XAMPP服务是否启动均出现该错误(正常未启动服务时应提示连接被拒绝)。已尝试取消php.ini扩展注释、卸载重装XAMPP等操作,phpinfo()显示PDO已启用,但问题未解决。

连接代码如下:

<?php
$servername = "localhost";
$username = "root";
$password = "";

try {
  $conn = new PDO("mysql:host=$servername;dbname=oopphptest1", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}

排查与解决步骤

1. 确认修改的是正确的php.ini文件

运行phpinfo(),找到Loaded Configuration File项,复制对应的文件路径,确保你修改的是这个路径下的php.ini,而非XAMPP/php目录下的php.ini-development或php.ini-production模板文件。

2. 修正extension_dir与PDO MySQL扩展设置

打开上述正确的php.ini文件:

  • 找到extension_dir,将其设置为绝对路径(避免相对路径解析错误),例如:
    extension_dir = "C:\xampp\php\ext"
    
  • 找到extension=pdo_mysql行,确保前面没有分号;注释(XAMPP 8+版本无需添加.dll后缀)。

3. 验证扩展文件存在性

前往C:\xampp\php\ext目录,确认php_pdo_mysql.dll文件存在且大小正常(约30-50KB),若文件缺失或损坏,重新下载安装官方XAMPP 8.2.0包。

4. 重启Apache服务

修改php.ini后必须重启XAMPP中的Apache服务,否则配置不会生效。在XAMPP控制面板中点击Stop再Start即可。

5. 检查CLI与Apache使用的PHP版本一致性

打开命令提示符:

  • 输入php -v,查看版本是否与XAMPP的PHP 8.2.0一致,若不一致说明系统环境变量中优先调用了其他版本的PHP;
  • 输入php -m,查看输出列表中是否包含pdo_mysql,若缺失需调整环境变量,将XAMPP的php目录(如C:\xampp\php)移至环境变量Path的最顶端。

6. 解决Windows权限问题

右键XAMPP安装目录(如C:\xampp),选择「属性」→「安全」→「编辑」,为当前登录用户添加「完全控制」权限,应用后重启Apache,避免因权限不足导致扩展文件无法加载。

7. 确认PDO驱动加载状态

再次运行phpinfo(),找到PDO模块区域,查看PDO drivers项是否包含mysql。若包含则驱动已成功加载,此时再测试连接代码即可;若仍未显示,建议彻底卸载XAMPP(清理残留文件)后重新安装。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:53:18