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

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

宝塔报错:

手动命令行编译安装同,也有报错

bash 复制代码
cd /www/server/php/81/src/ext/fileinfo/
make distclean
./configure --with-php-config=/www/server/php/81/bin/php-config

make && 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后面

bash 复制代码
make -std=c99

修改文件 /www/server/php/81/src/ext/fileinfo/Makefile文件,25行左右。CFLAGS = -g -O2,改成CFLAGS = -std=c99 -g -O2

重新make,这个时候之前的报错不见了,又有了新的报错(这不重要),然后又改了点别的(这也不重要) 发现还是那个错误,想着是不是有缓存呀,恍惚记得有个命令是这样的:

bash 复制代码
make clean

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

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

先执行 make clean 清除缓存

然后修改 Makefile 中的 CFLAGS 添加 -std=c99

然后重新make && make install 就可以了

bash 复制代码
make && make install

但是还是报另外的错误。

bash 复制代码
/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

相关推荐
DogDaoDao8 小时前
Android 硬件编码器参数完全指南:MediaCodec 深度解析
android·音视频·视频编解码·h264·硬编码·视频直播·mediacodec
JohnnyDeng949 小时前
Android 自定义 View:Canvas 绘图与事件分发深度解析
android
Android小码家12 小时前
Framework之Launcher小窗开发
android·framework·虚拟屏·小窗
赏金术士12 小时前
第七章:状态管理实战与架构总结
android·ui·kotlin·compose
颂love13 小时前
MySQL的执行流程
android·数据库·mysql
云起SAAS18 小时前
抖音小游戏源码 - 消消乐 | 含激励广告+成就系统 | 开箱即用商业级消除游戏模板
android·游戏·广告联盟·看激励广告联盟流量主·抖音小游戏源码 - 消消乐
大貔貅喝啤酒19 小时前
基于Windows下载安装Android Studio 3.3.2版本教程(2026详细图文版)
android·java·windows·android studio
程序员码歌19 小时前
OpenSpec 到 Superpowers:AI 编码从说清到做对
android·前端·人工智能
2501_9151063219 小时前
深入解析无源码iOS加固原理与方案,保护应用安全
android·安全·ios·小程序·uni-app·cocoa·iphone
黄林晴1 天前
重磅官宣:Android UI 开发正式进入 Compose-first 时代
android·google io