首页 > 建站教程 > PHP教程 >  宝塔面板 thinkphp6 上传报错:Class 'finfo' not found正文

宝塔面板 thinkphp6 上传报错:Class 'finfo' not found

在宝塔面板使用thinkphp6,写了上传方法:

$savename = \think\facade\Filesystem::disk('public')->putFile($dataPath, $file[0], function () use ($md5) {
return $md5;
});

但是报错:

Class 'finfo' not found

如下(需要将根目录.env.debug文件改成.env,再将APP_DEBUG = true才能看到这么详细的报错):

thinkphp6 fininfo

报错原因:需要PHP开启fileinfo,通过宝塔面板-安装扩展直接安装的无效。

使用命令,查询不到该模块:

php -m

使用命令,看到的该模块信息 --disable-fileinfo

php -i | grep fileinfo

解决办法1:编译安装该扩展,我跳过该方法了。

解决办法2:在宝塔面板卸载PHP,重新安装,选择编译安装方式。

thinkphp6 fininfo

添加自定义模块如下:

thinkphp6 fininfo

安装过程比较久。

最后使用phpinfo()查看,有 --disable-fileinfo 和 --enable-fileinfo,后边的覆盖了前面的,fileinfo 扩展模块可以正常使用了。