Laravel 11 强制依赖 mbstring 扩展,若提示 Class "Mbstring" not found 或 composer 卡住,需启用该扩展:先用 php -m 检查是否加载,再通过 php --ini 定位 php.ini;Linux 用 apt/dnf 安装对应版本扩展并重启服务,macOS 在 php.ini 中取消 extension=mbstring 注释后重启 brew 服务,Windows 解除 php.ini 中分号注释并确认 php_mbstring.dll 存在,源码编译需添加 --enable-mbstring 参数重新 configure、make、install。

安装 Laravel 时提示 Class "Mbstring" not found 或 composer create-project 卡在依赖解析,基本可以确定是 PHP 环境中 mbstring 扩展未启用——这个扩展不是可选组件,而是 Laravel 11 强制要求的底层依赖,缺它连框架类加载器都起不来。
先确认 mbstring 确实没加载
打开终端,执行:
php -m | grep mbstring
如果没有任何输出,说明扩展未启用。别急着重装,先查清楚是没编译、没安装,还是只是配置没开。
再运行:
php --ini
记下 “Loaded Configuration File” 对应的 php.ini 路径,后面要用。
Linux(apt/dnf 包管理器安装)
方法一:Ubuntu/Debian 系统直接安装扩展包
sudo apt update && sudo apt install php-mbstring
方法二:CentOS/RHEL/Rocky 8+ 系统
sudo dnf install php-mbstring
安装完必须重启 PHP-FPM 或 Web 服务:
sudo systemctl restart php8.3-fpm(版本号请按 php -v 实际输出替换)
或 sudo systemctl restart apache2
【注意】如果系统装了多个 PHP 版本(如 php8.2 和 php8.3),apt install php-mbstring 默认只装当前默认版本的扩展。用 php -v 确认版本后,建议显式安装:sudo apt install php8.3-mbstring
macOS(Homebrew 安装)
第一步:确认你用的是 Homebrew 安装的 PHP,不是系统自带的
php -v 输出必须是 8.2 或更高(如 PHP 8.3.12),否则 brew install php@8.3 后要执行:
brew link --force php@8.3
第二步:检查扩展是否已随 PHP 一起编译进去了
php -m | grep mbstring
如果仍无输出,说明 brew 安装时未启用该模块。此时不要重装 PHP,只需手动启用:
找到 php.ini 路径(用 php --ini 查),用编辑器打开,搜索 mbstring
取消这一行的注释:
;extension=mbstring → 改为 extension=mbstring
保存后执行:
brew services restart php@8.3
Windows(XAMPP/WAMP/手动解压版)
方法一:修改 php.ini 启用扩展
用 php --ini 找到 Loaded Configuration File 路径,用记事本或 VS Code 打开该 php.ini
搜索 extension=mbstring,把前面的分号去掉:
;extension=mbstring → extension=mbstring
方法二:验证 php_mbstring.dll 是否真实存在
查看 php.ini 中 extension_dir 的值(如 extension_dir = "ext"),进入 PHP 安装目录下的 ext 子目录,确认 php_mbstring.dll 文件存在
【关键前提】如果文件不存在,说明你用的是极简版 PHP(如某些绿色版),必须换用官方 Windows 二进制包或 XAMPP/WAMP 完整版
改完保存,重启 Apache 或 Nginx + PHP-FPM 服务
源码编译安装的 PHP
第一步:确认 libonig 开发库已安装
Ubuntu/Debian:
sudo apt install libonig-dev
CentOS/RHEL:
sudo dnf install oniguruma-devel
第二步:进入 PHP 源码目录,重新 configure(不能跳过这步):
./configure --enable-mbstring --with-libonig --with-openssl --with-pdo-mysql ...(保留你原有全部参数)
第三步:编译安装
make && sudo make install
第四步:检查 php.ini 中是否已自动写入 extension=mbstring;如果没有,手动添加
这一步不可省略:源码编译不加 --enable-mbstring 参数,就不会生成 mbstring.so,后续任何配置都无效


















