首先检查php环境是否缺少ext-json或ext-mbstring扩展,使用php -m | grep验证;若缺失,ubuntu/debian系统执行sudo apt-get install php-json和php-mbstring,centos/RHEL/Fedora系统用yum或dnf安装对应包;安装后确保php.ini中启用extension=mbstring;最后重启Web服务并重新运行composer install完成依赖安装。

当使用 Composer 安装 PHP 项目时,如果遇到 ext-json 或 ext-mbstring 扩展缺失导致的错误,说明当前 PHP 环境缺少必要的扩展支持。这些扩展是许多 PHP 框架和库(如 laravel、symfony)的基础依赖。以下是解决这类问题的具体方法。
检查当前 PHP 环境是否包含所需扩展
运行以下命令查看已启用的扩展:
php -m | grep json
php -m | grep mbstring
若无输出或提示未找到对应模块,说明扩展未安装或未启用。
安装 ext-json 扩展
ext-json 在现代 PHP 版本中通常默认内置,但某些系统(尤其是自定义编译或精简环境)可能未启用。
- 对于 Ubuntu/Debian 系统:
- 对于 CentOS/RHEL/Fedora:
- 确认安装后重启 Web 服务(如 apache 或 PHP-FPM):
sudo apt-get install php-json
sudo yum install php-json # CentOS 7 及更早
sudo dnf install php-json # CentOS 8+/Fedora
sudo systemctl restart apache2
# 或
sudo systemctl restart php-fpm
安装 ext-mbstring 扩展
mbstring 提供多字节字符串处理功能,常用于中文处理、编码转换等。
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
30 - Ubuntu/Debian:
- CentOS/RHEL/Fedora:
- 安装完成后确保在 php.ini 中启用:
- 部分系统需手动添加该行到配置文件(路径可通过 php –ini 查看)。
sudo apt-get install php-mbstring
sudo yum install php-mbstring # CentOS 7 及以下
sudo dnf install php-mbstring # CentOS 8+/Fedora
extension=mbstring
验证修复结果
重新检查扩展是否加载成功:
php -m | grep json
php -m | grep mbstring
如果都显示正常,再次运行 Composer 命令:
composer install
此时应不再报错。
基本上就这些。只要确保 PHP 环境正确安装并启用了所需的扩展,Composer 就能顺利完成依赖解析与安装。不复杂但容易忽略的是:CLI 和 Web 使用的 PHP 配置可能不同,建议用 php -m 在命令行测试,避免只在网页中查 phpinfo() 而忽略 CLI 环境差异。
以上就是composer如何修复因缺少 ext-json 或 ext-mbstring 导致的安装失败的详细内容,更多请关注php中文网其它相关文章!
