当前位置: 首页 > news >正文

宝塔PHP8.1安装fileinfo拓展失败解决办法

在宝塔面板中安装PHP8.1后,安装fileinfo扩展一直安装不上,查看日志有报错,于是手动来安装也报错。

在这里插入图片描述
宝塔报错:
在这里插入图片描述
手动命令行编译安装同,也有报错

cd /www/server/php/81/src/ext/fileinfo/
make distclean
./configure --with-php-config=/www/server/php/81/bin/php-configmake && make install
echo "extension=/www/server/php/81/lib/php/extensions/no-debug-non-zts-20210902/fileinfo.so" >> /www/server/php/81/etc/php.ini
echo "extension=/www/server/php/81/lib/php/extensions/no-debug-non-zts-20210902/fileinfo.so" >> /www/server/php/81/etc/php-cli.ini

在这里插入图片描述
注意查看错误,既然网上已经找不到解决办法了,但问题还要解决呀,就详细看了这个错误信息。 这里的附注让使用 -std=c99 或 -std=gnu99 来编译代码,看的我也是一脸懵,这我要加在哪里呀? 于是我就加在了make后面

make -std=c99

修改文件 /www/server/php/81/src/ext/fileinfo/Makefile文件,25行左右。CFLAGS = -g -O2,改成CFLAGS = -std=c99 -g -O2
在这里插入图片描述
在这里插入图片描述
重新make,这个时候之前的报错不见了,又有了新的报错(这不重要),然后又改了点别的(这也不重要) 发现还是那个错误,想着是不是有缓存呀,恍惚记得有个命令是这样的:

make clean

然后重新make,这时"意外"居然发生了,第二个错误不见了(所以说它不重要)直接编译通过。然后再执行make install安装成功 后续使用也没有遇到其他问题。

叨叨了这么多,总结一下就是遇到这个问题,这样解决

先执行 make clean 清除缓存
然后修改 Makefile 中的 CFLAGS 添加 -std=c99
然后重新make && make install 就可以了

make && make install

但是还是报另外的错误。

/tmp/php-8.1.10/ext/fileinfo/libmagic/softmagic.c:507:7: error: expected identifier or ‘(’ before ‘__extension__’char *strndup(const char *, size_t);^/tmp/php-8.1.10/ext/fileinfo/libmagic/softmagic.c:510:1: error: expected identifier or ‘(’ before ‘__extension__’

strndup(const char *str, size_t n)

注意:上边执行并没有好,正确如下

先执行 make clean 清除缓存

/usr/local/php8/bin/phpize

./configure --with-php-config=/usr/local/php8/bin/php-config

然后修改 Makefile 中的 CFLAGS 添加 CFLAGS = -std=c99 -g ,去掉-02
在这里插入图片描述

然后重新make && make install 就可以了
最后成功了。
在这里插入图片描述
最后php.info配置文件开启fileinfo,重启php
在这里插入图片描述

http://www.lryc.cn/news/464028.html

相关文章:

  • Python 魔术方法
  • 03 go语言(golang) - fmt包基本类型
  • Docker本地镜像发布到阿里云镜像服务的简易指南
  • 大数据学习---快速了解clickhouse数据库
  • 哪些方法可以缓解面试紧张?
  • 即时通讯未读消息计数
  • 在Openshift(K8S)上通过EMQX Operator部署Emqx集群
  • Python酷玩之旅_数据分析入门(matplotlib)
  • uiautomatorviewer安卓9以上正常使用及问题处理
  • Go语言gRPC快速入门
  • Golang | Leetcode Golang题解之第479题最大回文数乘积
  • UDP协议讲解
  • 交叉注意力融合时域、频域特征的FFT + CNN -BiLSTM-CrossAttention轴承故障识别模型
  • CSDN Markdown 编辑器语法大全
  • TCP/IP 协议【四次挥手】简要说明
  • 第11篇:网络安全协议
  • ES-入门-javaApi-文档-新增-删除
  • 【视频生成大模型】 视频生成大模型 THUDM/CogVideoX-2b
  • 【MR开发】在Pico设备上接入MRTK3(三)——在Unity中运行MRTK示例
  • C#中委托的应用与示例
  • 算法: 模拟题目练习
  • 软考中级科目怎么选?软考中级证书有什么用?
  • HTTP 请求的请求体是什么
  • 助力语音技术发展,景联文科技提供语音数据采集服务
  • PyTorch搭建神经网络入门教程
  • 你的电脑能不能安装windows 11,用这个软件检测下就知道了
  • BF 算法
  • SHOW-O——一款结合多模态理解和生成的单一Transformer
  • 缓存框架JetCache源码解析-缓存变更通知机制
  • Android 设置特定Activity内容顶部显示在状态栏底部,也就是状态栏的下层 以及封装一个方法修改状态栏颜色