首先检查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 jsonphp -m | grep mbstring
若无输出或提示未找到对应模块,说明扩展未安装或未启用。
安装 ext-json 扩展
ext-json 在现代 PHP 版本中通常默认内置,但某些系统(尤其是自定义编译或精简环境)可能未启用。
- 对于 Ubuntu/Debian 系统: sudo apt-get install php-json
- 对于 CentOS/RHEL/Fedora: sudo yum install php-json # CentOS 7 及更早
- 确认安装后重启 Web 服务(如 Apache 或 PHP-FPM): sudo systemctl restart apache2
sudo dnf install php-json # CentOS 8+/Fedora
# 或
sudo systemctl restart php-fpm
安装 ext-mbstring 扩展
mbstring 提供多字节字符串处理功能,常用于中文处理、编码转换等。
- Ubuntu/Debian: sudo apt-get install php-mbstring
- CentOS/RHEL/Fedora: sudo yum install php-mbstring # CentOS 7 及以下
- 安装完成后确保在 php.ini 中启用: extension=mbstring
- 部分系统需手动添加该行到配置文件(路径可通过 php --ini 查看)。
sudo dnf install php-mbstring # CentOS 8+/Fedora
验证修复结果
重新检查扩展是否加载成功:
php -m | grep jsonphp -m | grep mbstring
如果都显示正常,再次运行 Composer 命令:
composer install此时应不再报错。
基本上就这些。只要确保 PHP 环境正确安装并启用了所需的扩展,Composer 就能顺利完成依赖解析与安装。不复杂但容易忽略的是:CLI 和 Web 使用的 PHP 配置可能不同,建议用 php -m 在命令行测试,避免只在网页中查 phpinfo() 而忽略 CLI 环境差异。










