创建Laravel 8新项目时报错 缺少ext-fileinfo扩展如何解决
报错诱因
报错由PHP环境缺失必需扩展导致,依赖链逻辑如下:
- 你安装的Laravel 8.75+版本依赖
league/flysystem ^1.1作为文件系统组件 league/flysystem1.x版本强依赖PHP的fileinfo扩展实现文件类型识别功能- Composer做依赖环境校验时,检测到当前CLI模式下的PHP未开启/未安装
fileinfo扩展,直接终止安装流程
解决方案
永久修复(推荐)
- 打开报错提示中标注的PHP配置文件,路径为
C:\PHP7\php.ini - 在配置文件中查找
;extension=fileinfo配置项,删除行首用于注释的分号;;如果找不到该配置项,直接在扩展配置区域新增一行extension=fileinfo - 保存配置文件后,打开终端执行
php -m命令,查看输出的已加载扩展列表,若存在fileinfo项则说明扩展开启成功 - 重新执行Laravel项目创建命令即可正常完成安装
临时绕过(仅适合本地临时调试,不推荐生产环境使用)
如果暂时无法调整PHP配置,可以在执行Composer命令时追加参数,跳过平台扩展要求校验:
# 创建Laravel项目时跳过fileinfo扩展检测 composer create-project laravel/laravel 你的项目目录名 --ignore-platform-req=ext-fileinfo
注意:该方案仅跳过安装阶段的校验,后续运行Laravel时,所有涉及文件MIME类型识别、文件上传处理的功能都会因为缺少扩展触发运行时错误,不要在生产环境使用该方案。
内容的提问来源于stack exchange,提问作者Arjen Bos
相关产品推荐
相关产品推荐

