答案是缺少pdo_mysql扩展,需安装并启用该扩展。首先通过php -m和php --ini确认CLI环境配置,根据操作系统使用相应命令安装(如apt-get、yum或brew),Windows用户需修改php.ini取消注释extension=pdo_mysql,最后重启服务并验证扩展是否加载成功。
出现
"The requested PHP extension pdo_mysqlis missing"
错误,说明当前 PHP 环境缺少 pdo_mysql 扩展,而这个扩展是 Composer 安装某些包(如 Laravel、Symfony 等框架或使用数据库的应用)时必需的。以下是解决方法:
确认问题原因
Composer 检测到你的 PHP 配置中没有启用 pdo_mysql 扩展。这通常是因为:
扩展未安装
扩展已安装但未在
php
.ini 中启用
命令行使用的 PHP 版本与 Web 服务器不同(常见于多版本共存环境)
检查当前 PHP 环境
先确认你正在使用的 PHP 是哪个版本和配置文件位置:
如果无输出,说明 CLI 环境未加载该扩展。
立即学习
“
PHP免费学习笔记(深入)
”;
查看当前 php.ini 路径:
注意 "Loaded Configuration File" 指向的文件路径。
启用 pdo_mysql 扩展
根据你的
操作系统
选择对应操作:
Linux(Ubuntu/Debian)
安装 pdo_mysql 扩展:
这个包通常包含 pdo_mysql、mysqli 等常用 MySQL 相关扩展。
Linux(CentOS/RHEL)
或使用 dnf(新版):
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
macOS(使用 Homebrew)
如果你通过 brew 安装 PHP:
通常会自带 pdo_mysql,若缺失可尝试重装。
Windows
打开 php.ini 文件(通过 php --ini 查看路径),找到:
去掉前面的分号:
保存后重启服务(如 Apache 或 CLI 测试即可)。
验证修复结果
运行以下命令确认扩展已加载:
应看到输出
pdo_mysql
。
再运行
composer
命令,错误应消失。
基本上就这些。关键点是确保命令行使用的 PHP 启用了 pdo_mysql 扩展,而不是只在 Web 环境中启用。
php -m | grep pdo_mysqlphp --inisudo apt-get install php-mysqlsudo yum install php-pdo php-mysqlndsudo dnf install php-pdo php-mysqlndbrew install php@8.1 # 或你使用的版本;extension=pdo_mysqlextension=pdo_mysqlphp -m | grep pdo_mysql