TP5执行文件上传时报Call to undefined function thinkfinfo_open()的解决办法

时间:2024-03-21 12:39:02

使用TP5框架自带的文件上传方法进行文件上传时,提示Call to undefined function think\finfo_open(),看网上很多方法说是fileinfo扩展没有安装

那么,我们使用oneinstack进行安装。

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法
 
如果到这一步,图片能够上传成功的话,下面的就不用看了,如果不成功,以下可参考:
 

使用oneinstack进行fileinfo安装时,提示

在执行fileinfo插件安装时,提示错误信息

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

使用find / -name "pecl_fileinfo.sh"找到该文件路径

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

根据提示 可分析出/root/oneinstack/src/php-7.0.30/ext/fileinfo找不到

那么,我们从其他项目上找到该fileinfo文件夹,上传到指定目录下

链接: https://pan.baidu.com/s/1MRERVSQiyQDhBMt_ADRL3A 提取码: tztm

在执行fileinfo安装时,会提示找不到fileinfo.so文件

我们再其他项目下通过find / -name "fileinfo.so" 会发现,该文件在一个隐藏文件夹下

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

而安装时,寻找该文件的地址是在fileinfo目录下,所以,我们把fileinfo.so文件拷贝到fileinfo目录下,然后执行fileinfo安装操作,问题就解决了。

 

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

执行完phpinfo安装后,找到php.ini文件,

找到

file_uploads = On

extension=php_fileinfo.dll

将签名的注释符号去掉

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

然后重启PHP服务

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法

再测试下文件上传,看是否成功

TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法