位置:首页 > PHP > PHP环境数据库连接配置指南:启用PDO与MySQLi扩展

PHP环境数据库连接配置指南:启用PDO与MySQLi扩展

时间:2026-08-14  |  作者:怪兽小助手  |  阅读:0

PDO 和 MySQLi 这两个扩展必须先启用。 否则一旦执行 new PDO()new mysqli(),很容易直接报出“Class 'PDO' not found”这类错误。

稳妥的做法是先用 php -m 检查,确认 pdopdo_mysqlmysqli 这三项都已经存在。

不同系统的处理方式也不一样。Windows 环境下,需要启用 php_pdo.dllphp_pdo_mysql.dll;Linux 环境下,则要启用 pdo.sopdo_mysql.so

另外还要注意,php.ini 的路径必须正确。配置改完之后,服务也要记得重启。

PHP环境数据库连接配置,PDO与MySQLi扩展启用

要在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"

若输出中包含pdopdo_mysqlmysqli三项,则说明扩展已加载;缺少任一模块,需进入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用另一套。

免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多