已启用fileinfo扩展仍遇Laravel依赖报错,该如何解决?
解决Laravel依赖安装的Composer报错问题
报错原因解析
你看到的PHP版本不符合7.2的提示是Composer依赖解析时的分支遍历结果——因为Composer检测不到你的fileinfo扩展,只能尝试匹配不需要fileinfo的旧版league/mime-type-detection(1.0.0-1.3.0),而这些旧版本要求PHP^7.2,但你的8.1其实完全满足该要求,只是Composer走到这个分支才抛出了无关的版本提示。核心问题是fileinfo扩展并未真正被Composer检测到。
解决步骤
- 确认修改的是CLI环境的php.ini文件
执行命令:php --ini,查看输出里的Loaded Configuration File路径,确保你修改的是这个路径下的php.ini(网页环境的php.ini和CLI环境的可能不是同一个文件)。 - 重启终端/命令行工具
修改php.ini后,终端不会自动加载新配置,必须关闭并重新打开终端才能生效。 - 验证fileinfo扩展是否生效
执行命令:php -m,查看输出列表中是否有fileinfo;或者执行php -r "var_dump(extension_loaded('fileinfo'));",返回bool(true)即为启用成功。 - 清除Composer缓存
执行命令:composer clear-cache,避免缓存的旧依赖信息干扰检测结果。 - 重新执行依赖安装
运行composer install(或根据需求选择composer update)。
内容的提问来源于stack exchange,提问作者Nilhan
相关产品推荐
相关产品推荐

