在 PHPStudy 中开启 fileinfo 扩展需先确认 PHP 版本并编辑对应 php.ini,取消 extension=fileinfo(PHP 8.0+)或 extension=php_fileinfo.dll(旧版 Windows)前的分号,保存后重启服务,再通过 extension_loaded('fileinfo') 或 php -m 验证启用成功。

在 PHPStudy 环境中开启 fileinfo 扩展,核心是让 PHP 正确加载该模块,从而支持 finfo_open() 等函数进行真实文件类型检测。它不依赖文件后缀,而是读取文件头“魔术字节”,对上传安全至关重要。
确认当前 PHP 版本与配置路径
打开 PHPStudy 控制面板 → 点击「其他选项菜单」→ 「网站/服务设置」或「PHP 设置」→ 查看当前启用的 PHP 版本(如 PHP 7.4、8.0、8.2 等)。 接着点击对应版本右侧的「配置文件」按钮,会自动打开该版本正在使用的 php.ini 文件。 ⚠️ 注意:PHPStudy 多版本共存时,CLI(命令行)和 Web(Apache/Nginx)可能使用不同 php.ini,务必修改的是面板里「配置文件」所指向的那个。
启用 fileinfo 扩展模块
在打开的 php.ini 文件中,按 Ctrl+F 搜索 fileinfo。
通常你会看到类似以下其中一行:
-
;extension=php_fileinfo.dll(Windows 下 PHP 7.x 及更早版本) -
;extension=fileinfo(PHP 8.0+ 默认写法,推荐) -
;extension=fileinfo.so(Linux/macOS 风格,PHPStudy for Windows 不适用)
将对应行开头的分号 ; 删除,保存文件。
✅ 正确示例:extension=fileinfo 或 extension=php_fileinfo.dll(仅限旧版 Windows)
验证文件与重启服务
PHPStudy 自带的 PHP 通常已内置 fileinfo 模块,无需手动编译。但需确认:
– Windows 下 php_fileinfo.dll 文件存在于 PHPServer\php\版本号\ext\ 目录中;
– 若找不到,可从同版本官方 PHP 压缩包中提取该文件放入对应目录。
保存 php.ini 后,回到 PHPStudy 面板:
→ 先点击「停止」当前 Web 服务(Apache/Nginx)和 PHP 服务;
→ 再点击「启动」全部服务,确保配置重载生效。
检查是否成功启用
新建一个 test.php 文件,内容如下:
将该文件放入网站根目录(如 www),通过浏览器访问 http://localhost/test.php。
也可在 PHPStudy 终端或命令行中执行:php -m | findstr fileinfo(Windows)或 php -m | grep fileinfo(若启用了 Bash)
看到 fileinfo 输出即表示成功。此时即可在 ThinkPHP、Laravel 或自定义上传逻辑中放心调用 finfo_open(FILEINFO_MIME_TYPE) 进行安全校验。



















