安装Composer后提示Call to undefined function mb_detect_encoding()如何解决
问题修复方案
错误原因
报错提示Call to undefined function Symfony\Component\Console\Helper\mb_detect_encoding()是因为系统内安装的PHP缺少mbstring扩展,该扩展为Composer依赖的Symfony组件提供多字节字符处理能力,Ubuntu默认PHP安装包未携带该扩展,因此会触发致命错误。
修复步骤
- 首先查询当前系统安装的PHP版本,执行命令:
php -v
输出结果中会显示PHP主版本号,例如PHP 8.0.3 (cli)对应的版本号为8.0。 - 安装对应版本的mbstring扩展,执行命令(将命令中的
<version>替换为上一步查询到的版本号):sudo apt-get install php<version>-mbstring
如果使用Ubuntu 21.04默认源安装的PHP,可直接执行:sudo apt-get install php8.0-mbstring
如果不确定版本也可以执行通用安装命令:sudo apt-get install php-mbstring - 验证扩展是否安装成功,执行命令:
php -m | grep mbstring
如果输出结果包含mbstring,说明扩展已成功加载。 - 再次执行
composer命令,即可正常使用。
内容的提问来源于stack exchange,提问作者Code cracker
相关产品推荐
相关产品推荐

