使用TP5框架自带的文件上传方法进行文件上传时,提示Call to undefined function think\finfo_open(),看网上很多方法说是fileinfo扩展没有安装
那么,我们使用oneinstack进行安装。
![TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法 TP5执行文件上传时报Call to undefined function think\finfo_open()的解决办法](https://image.shishitao.com:8440/aHR0cHM6Ly9waWFuc2hlbi5jb20vaW1hZ2VzLzE5MC81Y2UzYTFiZjZmZmY2MmMzMDI5YzU3NmRlODg1ZmQ0ZS5wbmc%3D.png?w=700&webp=1)
如果到这一步,图片能够上传成功的话,下面的就不用看了,如果不成功,以下可参考:
使用oneinstack进行fileinfo安装时,提示
在执行fileinfo插件安装时,提示错误信息
使用find / -name "pecl_fileinfo.sh"找到该文件路径
根据提示 可分析出/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" 会发现,该文件在一个隐藏文件夹下
而安装时,寻找该文件的地址是在fileinfo目录下,所以,我们把fileinfo.so文件拷贝到fileinfo目录下,然后执行fileinfo安装操作,问题就解决了。
执行完phpinfo安装后,找到php.ini文件,
找到
file_uploads = On
extension=php_fileinfo.dll
将签名的注释符号去掉
然后重启PHP服务
再测试下文件上传,看是否成功