答案是缺少pdo_mysql扩展,需安装并启用该扩展。首先通过php -m和php –ini确认CLI环境配置,根据操作系统使用相应命令安装(如apt-get、yum或brew),windows用户需修改php.ini取消注释extension=pdo_mysql,最后重启服务并验证扩展是否加载成功。

出现 “The requested PHP extension pdo_mysql is missing” 错误,说明当前 PHP 环境缺少 pdo_mysql 扩展,而这个扩展是 composer 安装某些包(如 laravel、symfony 等框架或使用数据库的应用)时必需的。以下是解决方法:
确认问题原因
Composer 检测到你的 PHP 配置中没有启用 pdo_mysql 扩展。这通常是因为:
- 扩展未安装
- 扩展已安装但未在 php.ini 中启用
- 命令行使用的 PHP 版本与 Web 服务器不同(常见于多版本共存环境)
检查当前 PHP 环境
先确认你正在使用的 PHP 是哪个版本和配置文件位置:
php -m | grep pdo_mysql
如果无输出,说明 CLI 环境未加载该扩展。
立即学习“PHP免费学习笔记(深入)”;
查看当前 php.ini 路径:
php --ini
注意 “Loaded Configuration File” 指向的文件路径。
启用 pdo_mysql 扩展
根据你的操作系统选择对应操作:
安装 pdo_mysql 扩展:
sudo apt-get install php-mysql
这个包通常包含 pdo_mysql、mysqli 等常用 MySQL 相关扩展。
Linux(centos/RHEL)
sudo yum install php-pdo php-mysqlnd
或使用 dnf(新版):
sudo dnf install php-pdo php-mysqlnd
macOS(使用 Homebrew)
如果你通过 brew 安装 PHP:
brew install php@8.1 # 或你使用的版本
通常会自带 pdo_mysql,若缺失可尝试重装。
Windows
打开 php.ini 文件(通过 php –ini 查看路径),找到:
;extension=pdo_mysql
去掉前面的分号:
extension=pdo_mysql
保存后重启服务(如 apache 或 CLI 测试即可)。
验证修复结果
运行以下命令确认扩展已加载:
php -m | grep pdo_mysql
应看到输出 pdo_mysql。
再运行 composer 命令,错误应消失。
基本上就这些。关键点是确保命令行使用的 PHP 启用了 pdo_mysql 扩展,而不是只在 Web 环境中启用。


