在宝塔面板使用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才能看到这么详细的报错):
报错原因:需要PHP开启fileinfo,通过宝塔面板-安装扩展直接安装的无效。
使用命令,查询不到该模块:
php -m
使用命令,看到的该模块信息 --disable-fileinfo
php -i | grep fileinfo
解决办法1:编译安装该扩展,我跳过该方法了。
解决办法2:在宝塔面板卸载PHP,重新安装,选择编译安装方式。
添加自定义模块如下:
安装过程比较久。
最后使用phpinfo()查看,有 --disable-fileinfo 和 --enable-fileinfo,后边的覆盖了前面的,fileinfo 扩展模块可以正常使用了。