登录
首页 >  文章 >  php教程

PHP增删改查需哪些扩展?mysqli与pdo开启方法

时间:2026-01-06 13:34:26 103浏览 收藏

大家好,今天本人给大家带来文章《PHP增删改查需哪些扩展?开启mysqli或pdo方法详解》,文中内容主要涉及到,如果你对文章方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

PHP CRUD需启用mysqli或PDO扩展,因二者默认未开启;Linux用apt/dnf安装php-mysql/php-mysqlnd,Windows在php.ini中取消extension=mysqli和extension=pdo_mysql注释,重启服务后验证函数与类存在。

php增删改查需要哪些扩展_开启mysqli或pdo扩展方法【说明】

PHP 增删改查(CRUD)本身不依赖特定扩展,但必须启用至少一个数据库驱动扩展——mysqliPDO(推荐搭配 pdo_mysql)。没开这两个中的任意一个,mysql_connect() 这类函数根本不存在,连连接都建立不了。

为什么 mysqli 和 PDO 都得「手动开启」?

PHP 默认编译时通常不启用数据库扩展,尤其是 Windows 下的 ZIP 包或某些 Linux 发行版精简包。它们被编译为动态模块(.so 或 .dll),需在 php.ini 中显式启用,否则调用会报错:Fatal error: Uncaught Error: Call to undefined function mysqli_connect()Class 'PDO' not found

  • mysqli 是 MySQL 专用扩展,支持面向对象和过程式两种风格,对 MySQL 特性(如预处理、多语句、事务)支持更直接
  • PDO 是通用数据库抽象层,本身不干活,必须配合具体驱动(如 pdo_mysql);写法统一,换数据库时改动小
  • 二者不能互相替代:启用了 PDO 但没启 pdo_mysql,依然连不上 MySQL

Linux 下启用 mysqli 和 pdo_mysql 的典型步骤

以主流发行版(Ubuntu/Debian/CentOS)为例,PHP 通常通过包管理器安装,扩展也对应独立包:

  • Ubuntu/Debian:
    sudo apt install php-mysql
    (该包同时启用 mysqlipdo_mysql
  • CentOS/RHEL 8+:
    sudo dnf install php-mysqlnd
    mysqlnd 是原生驱动,比 libmysql 更推荐)
  • 确认是否生效:
    php -m | grep -E '^(mysqli|pdo|pdo_mysql)$'
    应输出三行(mysqlipdopdo_mysql
  • 若用 Apache,重启服务:
    sudo systemctl restart apache2
    (Ubuntu)或
    sudo systemctl restart httpd
    (CentOS)
  • Nginx + PHP-FPM 需重启 php-fpm
    sudo systemctl restart php*-fpm
    (版本号需补全,如 php8.2-fpm

Windows 下在 php.ini 中启用扩展

找到你实际使用的 php.ini 文件(运行 php --ini 查看路径),编辑它:

  • 取消注释这两行(删除前面的分号 ;):
    ;extension=mysqli
    ;extension=pdo_mysql
    → 改成:
    extension=mysqli
    extension=pdo_mysql
  • 注意:不是 extension=pdo —— PDO 核心已内置,但驱动必须单独开;pdo_mysql 才是 MySQL 驱动
  • 如果使用 php_xampp 或旧版,可能看到 php_mysqli.dll,确保 extension_dir 指向正确的 ext/ 目录
  • 改完保存,重启 Web 服务器(Apache 或 Nginx)或 PHP-FPM 进程
  • 验证:
    php -r "var_dump(function_exists('mysqli_connect'), class_exists('PDO'));"
    输出 bool(true) bool(true) 即成功

最容易忽略的是:开了 PDO 没开 pdo_mysql,或者开了 mysqli 却误以为 PDO 也能自动用上;还有人改了错误的 php.ini(CLI 和 Web 使用的配置文件常不同),结果 php -v 看着正常,网页里却报错。

理论要掌握,实操不能落!以上关于《PHP增删改查需哪些扩展?mysqli与pdo开启方法》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>