先通过phpinfo()确认mbstring是否加载,若未显示则扩展未生效;再根据loaded configuration file路径编辑正确php.ini,确保extension_dir指向ext目录且extension=mbstring已启用,最后重启apache并用php -m验证。

确认当前 PHP 是否已加载 mbstring
别急着改配置,先看它到底有没有生效。打开浏览器访问 http://localhost/phpinfo.php(若没有该文件,就在 XAMPP\htdocs 下新建一个,内容为 <?php phpinfo(); ?>),搜索 mbstring。如果页面里没出现 mbstring 模块信息,或 Loaded Configuration File 显示路径为空/错误,说明扩展根本没加载——此时改 extension= 行只是白忙。
找到并编辑正确的 php.ini 文件
XAMPP 的 PHP 配置文件不是随便哪个 php.ini 都管用。必须用 phpinfo() 页面里明确标出的 Loaded Configuration File 路径下的那个文件。常见情况有:
- 路径是
C:\xampp\php\php.ini(XAMPP 8.0+ 默认) - 路径是
C:\Windows\php.ini(旧版 XAMPP 或手动复制过) - 路径为空 → Apache 没读到任何
php.ini,需在httpd.conf中补PHPIniDir "C:/xampp/php"
打开该文件,搜索 extension_dir,确保它指向 ext 目录且路径末尾不带反斜杠(例如 extension_dir = "ext" 或 extension_dir = "C:/xampp/php/ext",但不能是 "C:/xampp/php/ext/" —— 多一个 / 会导致 php_mbstring.dll 静默加载失败)。
启用 mbstring 扩展并验证路径
在 php.ini 中搜索 mbstring,找到这行:
;extension=mbstring
去掉前面的分号,改为:
extension=mbstring
注意:XAMPP 7.4+ 使用 mbstring(无 php_ 前缀),不是 php_mbstring.dll;如果你看到的是 extension=php_mbstring.dll,那是旧版写法,保留也行,但推荐统一用新命名。
再确认 C:\xampp\php\ext\php_mbstring.dll 确实存在(大小约 1–2 MB)。不存在?重装 XAMPP 或从同版本 PHP 官方二进制包中提取。
重启 Apache 并检查命令行环境
只重启 Apache 就够了,不用动 MySQL 或其他服务:
- 通过 XAMPP Control Panel 点击
Stop再StartApache - 或命令行执行:
sudo /opt/lampp/lampp restartapache(Linux) /C:\xampp\apache_stop.bat && C:\xampp\apache_start.bat(Windows)
重启后,别只信浏览器——顺手开终端跑一句:
php -m | findstr mbstring(Windows) 或 php -m | grep mbstring(Linux/macOS)
返回 mbstring 即成功。如果返回空,重点查三处:Loaded Configuration File 路径是否真被 Apache 读取、extension_dir 路径拼写是否绝对正确、php_mbstring.dll 文件是否真的在那个目录下且权限可读。
最容易被忽略的是:XAMPP 启动 Apache 时可能缓存了旧的 php.ini 路径,或者你改的是 php.ini-development 而非实际加载的那个文件。每次修改前,务必以 phpinfo() 显示的路径为准。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











