PHP 8.4尚未发布,当前稳定版为8.3;安装mysqli需依环境选择ondrej/php源(Ubuntu/Debian)或源码编译启用mysqlnd(Kylin/Rocky),并配置utf8mb4字符集与127.0.0.1连接。

PHP 8.4 目前尚未正式发布(截至 2026 年 11 月,最新稳定版仍是 PHP 8.3),所有关于“PHP 8.4”的安装操作,实际都基于 已发布的预编译包或第三方源中提供的测试版/候选版。Ubuntu/Debian 官方源不包含 PHP 8.4,必须依赖 ondrej/php PPA;CentOS/Rocky/Kylin 等则需手动编译或启用兼容仓库。MySQLi 扩展不是独立安装项,而是随 PHP 主包或扩展包一并提供,关键在于正确安装、启用并验证。
确认 PHP 实际版本与环境类型
执行以下命令,明确你当前面对的是哪种情况:
-
php -v—— 查看是否真为 8.4(大概率显示 8.3 或报错) -
which php和php --ini—— 确认二进制路径和配置文件位置 -
ls /usr/lib/php/*/mysqli.so或dpkg -l | grep php8.4(Debian/Ubuntu)—— 检查 mysqli 扩展文件是否存在
Ubuntu/Debian 下安装 MySQLi 扩展(推荐方式)
若你已添加 ondrej/php 源并准备安装 PHP 8.4:
面向 CRM 系统的 MySQL 8 数据库模式设计。当用户需要为客户关系管理(CRM)系统设计、评审、优化或生成数据库模式时,应使用此项技能。
- 确保已启用源:
sudo add-apt-repository ppa:ondrej/php && sudo apt update - 安装核心 + MySQLi 支持:
sudo apt install php8.4 php8.4-cli php8.4-mysql -
php8.4-mysql包同时提供mysqli和pdo_mysql扩展,无需额外安装 - 验证是否加载:
php8.4 -m | grep mysqli(应输出mysqli)
源码编译时启用 MySQLi(Kylin/Rocky/自定义环境)
若从源码构建 PHP 8.4(如银河麒麟服务器),configure 阶段必须显式启用:
- 依赖不能缺失:
libmysqlclient-dev(Debian)或mysql-devel(RHEL 系) - configure 参数中必须含:
--with-mysqli=mysqlnd和--with-pdo-mysql=mysqlnd - 不要用
--with-mysqli=/usr这类硬路径,优先使用mysqlnd(原生驱动,支持持久连接、字符集自动协商等) - 编译后检查:
php8.4 -m | grep -E 'mysqli|mysqlnd'
数据库连接配置要点(PHP 8.3/8.4 兼容写法)
无论版本号如何,MySQLi 连接逻辑在 PHP 8.1+ 中保持一致。重点不在“怎么写”,而在“怎么配”:
- DSN 或连接参数中必须指定
charset=utf8mb4,否则中文插入/查询会乱码 - 避免用
localhost:它会触发 Unix socket 连接,而 MySQL 可能未启用 socket;改用127.0.0.1 - MySQL 8.0+ 用户默认认证插件是
caching_sha2_password,旧客户端可能不识别;临时解决可运行:ALTER USER 'your_user'@'%' IDENTIFIED WITH mysql_native_password BY 'your_pass'; FLUSH PRIVILEGES; - 代码示例(面向对象风格,推荐):
$mysqli = new mysqli('127.0.0.1', 'user', 'pass', 'db', 3306);
$mysqli->set_charset('utf8mb4');
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










