首先确认缺失的PHP扩展名称,然后检查当前PHP环境是否已启用该扩展,接着根据操作系统安装或启用对应扩展,最后验证扩展是否生效,必要时可临时忽略平台依赖或升级PHP版本。

当你在使用 Composer 安装或更新依赖时遇到 "the requested PHP extension is missing" 错误,说明项目所需的某个 PHP 扩展未安装或未启用。Composer 检测到 composer.json 中声明的扩展在当前 PHP 环境中不可用。以下是解决该问题的实用步骤。
错误信息通常会明确指出是哪个扩展缺失,例如:
- The requested PHP extension ext-json * is missing from your system.记下扩展名(如 json、gd、mbstring、intl、pdo_mysql 等),这是下一步操作的关键。
运行以下命令查看当前 CLI 使用的 PHP 版本和已启用的扩展:
立即学习“PHP免费学习笔记(深入)”;
php -v php -m
在输出列表中查找你缺失的扩展。如果没找到,说明它确实未启用或未安装。
注意:开发环境(如 Apache/Nginx)使用的 PHP 配置可能与 CLI 不同。可创建一个 PHP 文件:
<?php phpinfo(); ?>
通过浏览器访问,查看 Web 环境的扩展情况。
根据你的操作系统和 PHP 安装方式选择对应方法:
Linux(Ubuntu/Debian):
sudo apt install php-mbstring sudo apt install php-xml sudo apt install php-gd sudo apt install php-intl
安装完成后重启 Web 服务:
sudo systemctl restart apache2 # 或 sudo systemctl restart php-fpm
Linux(CentOS/RHEL/Fedora):
sudo dnf install php-mbstring sudo dnf install php-gd
macOS(使用 Homebrew):
brew install php@8.1 # 包含常用扩展 # 或单独安装扩展(部分需手动编译)
Windows(XAMPP/WAMP):
;extension=gd 或 ;extension=php_mbstring.dll
; 来启用扩展再次运行:
php -m | grep 扩展名
例如:
php -m | grep mbstring
如果有输出,表示扩展已加载。也可用:
php -r "echo extension_loaded('mbstring') ? 'OK' : 'NO';"如果你只是想快速测试或部署,可以跳过扩展检查:
composer install --ignore-platform-reqs
或只忽略特定扩展:
composer install --ignore-platform-req=ext-json
警告:这样做可能导致运行时错误,因为代码实际需要这些扩展。仅用于调试或确认问题。
某些扩展在新版 PHP 中已被移除或集成(如 ext-json 在 PHP 7.4+ 已内置)。如果你仍报错,可能是:
升级 PHP 到推荐版本通常能解决问题。
基本上就这些。关键是先看清楚缺哪个扩展,再根据系统环境安装或启用。只要扩展到位,Composer 就不会再报这个错误。
以上就是composer如何解决"the requested PHP extension is missing"错误的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号