登录
首页 >  文章 >  php教程

XAMPP如何开启pdo_mysql扩展 XAMPP数据库连接配置

时间:2026-05-04 20:17:51 393浏览 收藏

文章不知道大家是否熟悉?今天我将给大家介绍《XAMPP如何开启pdo_mysql扩展 XAMPP数据库连接配置》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

XAMPP中PDO扩展未启用是因php.ini中extension=php_pdo.dll和extension=php_pdo_mysql.dll被注释,需取消分号、确认extension_dir路径正确、重启Apache,并区分Web与CLI环境配置。

XAMPP如何开启pdo_mysql扩展 XAMPP数据库连接配置

pdo_mysql扩展没启用,phpinfo()里找不到怎么办

XAMPP 默认已预装 php_pdo.dllphp_pdo_mysql.dll,但它们通常被注释掉,不会自动加载。直接查 phpinfo() 看不到 PDO 相关模块,不是没装,而是没启。

实操建议:

  • 运行 phpinfo() 页面,搜索 Loaded Configuration File,确认你编辑的是正在生效的 php.ini(常见路径如 C:\xampp\php\php.ini
  • 用文本编辑器打开该 php.ini,搜索 extension=php_pdo.dllextension=php_pdo_mysql.dll
  • 若这两行开头有分号 ;,全部删掉;如果整行不存在,就手动添加(注意 Windows 下是 .dll,不是 .so
  • 检查 extension_dir 是否指向正确路径,例如:extension_dir="C:/xampp/php/ext"(路径斜杠方向必须是正斜杠或双反斜杠)
  • 保存后,必须重启 Apache(不是只刷新页面),否则改动不生效

启用后仍报 Class 'PDO' not found 或 Call to undefined function pdo_connect()

这不是扩展没启,而是代码写法或环境错位导致的。XAMPP 的 PHP CLI(命令行)和 Apache 模块可能加载不同配置,容易混淆。

实操建议:

  • 在 Web 环境下测试:新建 test_pdo.php,内容为 ,通过浏览器访问(不是双击打开)
  • 别用命令行执行测试脚本(php test_pdo.php),因为 CLI 的 php.ini 可能没改,或路径不对
  • 确认数据库服务已运行:XAMPP 控制面板中 MySQL 状态必须是 Running,否则 PDO 连接会超时或抛出无法连接的异常
  • 若用 root 用户且无密码,连接字符串中密码留空即可,不要写成 "" 以外的值(比如 null 或空格)

MySQL 严格模式导致 PDO 插入失败:Field 'xxx' doesn't have a default value

这是 XAMPP 8.2+ 版本常见问题,STRICT_TRANS_TABLES 开启后,PDO 执行某些建表或插入语句会因字段无默认值而中断,尤其在安装 Drupal、WordPress 等 CMS 时高频出现。

实操建议:

  • 编辑 C:\xampp\mysql\bin\my.ini,找到 [mysqld] 段落,在其下方新增一行:sql_mode = "NO_ENGINE_SUBSTITUTION"
  • 务必重启 MySQL 服务(控制面板点 Stop 再 Start),仅改配置不重启无效
  • 验证是否生效:进 phpMyAdmin → SQL 标签页,执行 SELECT @@sql_mode;,返回结果里不应含 STRICT_TRANS_TABLES
  • 不建议全局关闭所有 SQL 模式,只替换掉严格模式项即可,避免影响其他应用的数据校验逻辑

连接 localhost 失败,但 127.0.0.1 可以连

这通常是 MySQL 配置里 skip-name-resolve 未启用,或 hosts 文件映射异常导致的 DNS 解析延迟/失败,PDO 默认用 localhost 触发 socket 连接,而部分新版 XAMPP 会优先走 TCP。

实操建议:

  • PDO 连接串中把 host=localhost 改成 host=127.0.0.1 是最快绕过方式
  • 检查 C:\xampp\mysql\bin\my.ini[mysqld] 段,确保没有 bind-address = ::1 这类 IPv6 限定(Windows 下易冲突)
  • 如需保留 localhost,可加 skip-name-resolve 到 my.ini 并重启 MySQL,但要注意这会影响基于主机名的权限控制
  • 不推荐修改系统 hosts 文件强行绑定,容易引发其他本地服务异常
XAMPP 的 PDO 配置难点不在“怎么开”,而在“开给谁用”——Web 请求走 Apache 加载的 PHP 配置,命令行走 CLI 配置,MySQL 服务状态、SQL 模式、网络解析路径各自独立,改一处漏一处就会表现不一致。动手前先确认当前上下文是哪一层,比盲目加 extension 更关键。

好了,本文到此结束,带大家了解了《XAMPP如何开启pdo_mysql扩展 XAMPP数据库连接配置》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>