PHP环境数据库连接配置指南:启用PDO与MySQLi扩展
时间:2026-08-14 | 作者:怪兽小助手 | 阅读:0PDO 和 MySQLi 这两个扩展必须先启用。 否则一旦执行 new PDO() 或 new mysqli(),很容易直接报出“Class 'PDO' not found”这类错误。
稳妥的做法是先用 php -m 检查,确认 pdo、pdo_mysql、mysqli 这三项都已经存在。
不同系统的处理方式也不一样。Windows 环境下,需要启用 php_pdo.dll 和 php_pdo_mysql.dll;Linux 环境下,则要启用 pdo.so 和 pdo_mysql.so。
另外还要注意,php.ini 的路径必须正确。配置改完之后,服务也要记得重启。
要在PHP环境中成功连接MySQL数据库,必须先确保PDO和MySQLi扩展已正确启用。 否则调用new PDO()或new mysqli()会直接报错“Class 'PDO' not found”或“Class 'mysqli' not found”。
这一步是所有数据库操作的前提。跳过后,后续代码将完全无法运行。
确认PHP是否已加载PDO和MySQLi扩展
打开终端或命令行,执行:php -m | grep -E "pdo|mysqli"。
若输出中包含pdo、pdo_mysql、mysqli三项,则说明扩展已加载;缺少任一模块,需进入php.ini配置阶段。
- Windows用户注意:若使用WAMP/XAMPP,可通过控制面板图形界面勾选扩展。
- Linux/macOS用户必须手动编辑php.ini文件。
启用PDO扩展(含pdo_mysql驱动)
先找到当前生效的php.ini路径。可以新建一个PHP文件,写入,浏览器访问后搜索“Loaded Configuration File”,定位到该ini文件。
用文本编辑器打开php.ini,查找以下两行:
;extension=php_pdo.dll→ 删除开头的分号,改为extension=php_pdo.dll;extension=php_pdo_mysql.dll→ 同样去掉分号,改为extension=php_pdo_mysql.dll
【Windows下必须同时启用这两个dll,缺一不可;Linux/macOS对应的是.so文件,如extension=pdo.so和extension=pdo_mysql.so】
保存后,重启Web服务器(Apache/Nginx)或PHP-FPM服务。然后再次运行php -m,验证pdo与pdo_mysql是否在列表中。
启用MySQLi扩展
方法一:修改php.ini启用动态库
在php.ini中查找;extension=mysqli,取消注释,改为extension=mysqli。
PHP 7.4+版本通常已默认启用,但部分精简版环境仍需手动开启。
方法二:检查扩展目录是否存在mysqli.so/.dll
先执行php -r "echo PHP_EXTENSION_DIR;",把扩展目录路径找出来。然后进入这个目录,确认里面是否存在mysqli.so(Linux/macOS)或php_mysqli.dll(Windows)。
如果这两个文件都找不到,基本就可以判断:当前这套PHP在编译时没有把该模块带上。
这种情况下,单靠配置通常解决不了。得重装PHP,或者直接换成包含完整模块的安装包。
启用后无需额外配置即可使用面向对象方式new mysqli(),但【务必在连接后调用$mysqli->set_charset('utf8mb4'),否则中文插入可能乱码】。
验证扩展启用效果
第一步:创建测试文件test_db_ext.php,内容如下:
var_dump(class_exists('PDO'));
var_dump(class_exists('mysqli'));
var_dump(extension_loaded('pdo_mysql'));
var_dump(extension_loaded('mysqli'));
?>
第二步:通过浏览器或CLI执行该文件。四行输出必须全部为bool(true),才算完成扩展启用。
第三步:若任一为false,返回上一步检查php.ini路径是否正确、分号是否彻底删除、Web服务器是否真正重启。
常见错误是改了错误的php.ini,例如CLI用一套,Web用另一套。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- PHP创建数据库的SQL语句教程
- 时间:2026-08-23
-
- PHP安全替换配置文件内容的方法与实战技巧
- 时间:2026-08-20
-
- PHP后台管理系统开发从入门到精通实战指南
- 时间:2026-08-19
-
- PHP中如何验证含星号通配符的括号字符串是否有效
- 时间:2026-08-18
-
- PHP中如何验证带星号通配符的括号字符串是否有效
- 时间:2026-08-18
-
- PHP中按分号分割含嵌套分号的多条SQL语句方法
- 时间:2026-08-18
-
- PHP循环中下拉框选项变更事件绑定方法及键盘导航支持
- 时间:2026-08-18
-
- PHP表单提交多个选中月份并显示对应数据的方法
- 时间:2026-08-18
精选合集
更多大家都在玩
大家都在看
更多-
- 为什么湿头发更容易断裂 蚂蚁庄园今日答案9.15
- 时间:2026-09-14
-
- 蚂蚁庄园今天答题答案2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园答题今日答案2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园小课堂2026年9月15日最新题目答案
- 时间:2026-09-14
-
- 小鸡答题今天的答案是什么2026年9月15日
- 时间:2026-09-14
-
- 蚂蚁庄园每日答题答案2026年9月15日
- 时间:2026-09-14
-
- 糖尿病患者禁食所有含糖食物吗 蚂蚁庄园今日答案9月15日
- 时间:2026-09-14
-
- 2026年9月14日蚂蚁新村答案
- 时间:2026-09-14
