laragon安装laravel报错“缺少扩展”是因cli模式下php.ini未启用必需扩展,需确认php --ini显示的loaded configuration file路径,启用extension=mbstring、extension=openssl、extension=pdo、extension=tokenizer、extension=xml、extension=ctype、extension=json、extension=fileinfo,再用php -m验证生效。

Laragon 装 Laravel 报错“缺少扩展”,基本不是 Laragon 本身的问题,而是它自带的 PHP 没启用 Laravel 必需的几个扩展。关键在 CLI 模式下的 php.ini —— 因为 composer create-project 和 php artisan 都走命令行,和浏览器访问用的 php.ini 可能不是同一个。
确认当前 CLI 使用的 php.ini 路径
打开命令行(CMD 或 PowerShell),执行:
php --ini
看输出里 Loaded Configuration File 这一行,例如:
Loaded Configuration File: C:\laragon\bin\php\php-8.2.9-Win32-vs16-x64\php.ini
⚠️ 注意:别改错了文件。Laragon 多个 PHP 版本共存时,每个版本都有独立的 php.ini,必须改你当前 php -v 显示的那个版本对应的 php.ini。
必须启用的扩展(Laravel 10/11 强制要求)
打开上面找到的 php.ini,搜索并确保以下几行前面没有分号 ;,且拼写完全一致:
extension=mbstring extension=openssl extension=pdo extension=tokenizer extension=xml extension=ctype extension=json extension=fileinfo
✅ 特别注意:
-
fileinfo容易被忽略,但它是 Composer 解包依赖(如 league/flysystem)的硬性依赖,缺了就卡在vendor目录生成失败; -
mbstring和openssl是 Laravel 启动时最先检查的,报Class "Mbstring"或cURL error 60通常就是它们没开; - Windows 下扩展名是
.dll,但php.ini里写extension=mbstring就行,PHP 会自动匹配php_mbstring.dll。
改完后必须验证是否生效
保存 php.ini 后,不用重启 Laragon 全局服务,但要确保命令行里 php 命令读的是新配置:
php -m | findstr -i "mbstring fileinfo openssl"
(Windows CMD)
或
php -m | grep -E "(mbstring|fileinfo|openssl)"
(Git Bash / WSL)
看到对应模块名出现在列表里,才算真正启用成功。
? 小技巧:如果
php -m里看不到,再运行php --ini确认路径;有时编辑器保存成 UTF-8 BOM 格式会导致 PHP 加载失败,建议用 Notepad++ 或 VS Code 保存为 UTF-8 无 BOM。
顺手检查两个易错点
Composer 是否用对了 PHP?
执行composer diagnose,看它报告的 PHP 路径是否和php --ini一致。不一致说明 Composer 调用了系统其他 PHP,需重装或调整 PATH。Laragon 的 PHP 版本是否 ≥8.1?
Laravel 10+ 要求 PHP ≥8.1,php -v查一下。Laragon 默认可能带 PHP 8.0 或更老版本,建议在 Laragon 主界面 → PHP → 切换到8.2.x或8.3.x。
不复杂但容易忽略
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











