Composer 报错“The fileinfo extension is missing”是因 PHP 未启用 fileinfo 扩展,宝塔默认未编译该扩展;解决方法是在宝塔软件商店中对应 PHP 版本的“安装扩展”里启用 fileinfo,或手动编辑 php.ini 添加 extension=fileinfo 并重载配置。

Composer 报错 “The fileinfo extension is missing” 就是 PHP 缺少 fileinfo 扩展,不是 Composer 本身问题,也不是权限或路径错误——直接装扩展就能过。
为什么宝塔里会缺 fileinfo 扩展
宝塔默认安装 PHP 时(尤其是 PHP 7.4 及以下版本),fileinfo 常被设为“不编译”或“禁用”,因为它不属于最基础的扩展(比如 curl、openssl),但 Composer 的 autoload 和资源类型检测强依赖它。
常见表现:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer install或composer update时直接中断,报错:The fileinfo extension is missing -
php -m | grep fileinfo返回空 - 宝塔面板「PHP 设置」→「禁用函数」里没看到
fileinfo,但扩展实际未启用
在宝塔面板中启用 fileinfo 的实操步骤
不用命令行编译,也不用重装 PHP,宝塔已封装好开关:
- 登录宝塔 → 左侧「软件商店」→ 找到你正在用的 PHP 版本(如 PHP-7.4)→ 点击「设置」
- 切换到「安装扩展」选项卡 → 找到
fileinfo→ 点击「安装」(按钮文字可能是「安装」或「启用」,取决于宝塔版本) - 等待进度条完成,成功后会提示「安装成功」,此时无需重启 PHP,但建议点一下右上角「重载配置」
- 验证是否生效:
php -m | grep fileinfo应输出fileinfo;再跑一次composer diagnose,该报错应消失
如果「安装扩展」里没有 fileinfo 选项
说明当前 PHP 是“精简版”或通过非宝塔标准方式安装(比如手动编译、Docker 镜像、或旧版宝塔残留),这时需手动启用:
- 确认
php.ini路径:宝塔面板 → PHP 设置 → 「配置文件」路径,通常是/www/server/php/XX/etc/php.ini - 编辑该
php.ini,搜索extension=fileinfo;若被注释(前面有分号),去掉分号;若整行不存在,手动添加一行:extension=fileinfo - 保存后,在宝塔 PHP 设置页点击「重载配置」,或执行
systemctl reload php-fpm-X.X(X.X 替换为你版本号) - 注意:某些 PHP 版本(如 PHP 8.0+)可能要求写成
extension=fileinfo.so,可先查扩展文件是否存在:ls /www/server/php/XX/lib/php/extensions/no-debug-non-zts-*/fileinfo.so
真正卡住的往往不是怎么开,而是开了之后忘记重载 PHP 配置,或者用了多个 PHP 版本(CLI 和 Web 使用不同配置),导致 php -m 看到了,但 Composer 还在报错——记得统一检查 CLI 使用的 PHP 路径:which php 和 php -i | grep 'Loaded Configuration File'。

















