fileinfo扩展必须启用才能运行laravel、thinkphp等框架,否则报“class 'finfo' not found”等错误;需确认php.ini路径、确保ext目录下存在php_fileinfo.dll、在php.ini中取消extension=php_fileinfo.dll前的分号并重启服务验证。

在 Windows 10 上搭建 PHP 7.4.33 服务器时,若需运行 Laravel、ThinkPHP 等框架,fileinfo 扩展必须启用。否则会报错 “Class 'finfo' not found” 或 “fileinfo extension is missing”。该扩展默认不启用,需手动确认并激活。
确认 PHP 安装路径与 php.ini 实际位置
先确保你用的是正确的 php.ini 文件:新建一个 info.php,内容为 <?php phpinfo(); ?>,通过浏览器访问,查找 Loaded Configuration File 对应的路径。别误改安装包里的 php.ini-development 或 php.ini-production 模板文件。
常见路径示例:C:\php\php.ini 或 D:\PHP\php.ini(取决于你的解压目录)。
检查 fileinfo.so 是否存在(Windows 下是 fileinfo.dll)
Windows 版 PHP 的扩展文件后缀是 .dll,不是 .so。请按以下步骤确认:
- 进入你的 PHP 安装目录下的
ext子目录,例如C:\php\ext\ - 查找是否存在
php_fileinfo.dll(注意前缀是php_,不是fileinfo) - 若不存在,说明当前下载包未包含该扩展——建议重新下载完整版(Thread Safe + VC15 + x64)
启用 fileinfo 扩展(修改 php.ini)
打开已确认的 php.ini 文件,执行以下操作:
- 确保扩展目录已启用:
extension_dir = "ext"(前面不能有分号) - 查找
;extension=php_fileinfo.dll这一行,去掉开头的分号,改为:extension=php_fileinfo.dll - 保存文件
⚠️ 注意:不要写成 extension=fileinfo 或 extension=fileinfo.dll —— Windows 下必须带 php_ 前缀且保留 .dll 后缀。
验证是否生效
重启 Web 服务或 PHP 进程后验证:
- 如果是 IIS + FastCGI:在 IIS 管理器 → 「FastCGI 设置」中右键对应 PHP 路径 → 「重新激活」
- 如果是 Apache:重启 httpd 服务
- 如果是 PHP 内置服务器(
php -S),直接关闭再重开即可 - 刷新
info.php页面,搜索fileinfo,看到 “fileinfo support => enabled” 即成功
不复杂但容易忽略:只要 php_fileinfo.dll 存在、extension_dir 正确、extension= 行已启用且无拼写错误,fileinfo 就能正常工作。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











