宝塔php7.4安装zip扩展踩坑实录

本文介绍了解决宝塔7.4中ZIP扩展安装过程中遇到的libzip版本过低的问题。通过卸载旧版libzip并安装新版libzip-1.5.2来满足依赖需求,最终成功配置PHP的ZIP扩展。

宝塔7.4的源码目录里面已经有zip扩展,直接进去安装

cd /www/server/php/74/src/ext/zip

./configure --with-php-config=/www/server/php/74/bin/php-config

报如下错误

checking for zip archive read/write support... yes, shared
checking for libzip >= 0.11... no
configure: error: Package requirements (libzip >= 0.11) were not met:
 
Requested 'libzip >= 0.11' but version of libzip is 0.10.1
 
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
 
Alternatively, you may set the environment variables LIBZIP_CFLAGS
and LIBZIP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

libzip版本太低先升级 libzip

升级 libzip 

#卸载旧版本的libzip yum remove libzip,然后在下载安装

cd /opt
wget https://libzip.org/download/libzip-1.5.2.tar.gz
tar -zxvf libzip-1
### 如何在宝塔面板中为 PHP 8.3 安装 ZIP 扩展 #### 方法一:通过宝塔面板内置功能安装 宝塔面板提供了便捷的方式用于管理 PHP扩展模块。对于 PHP 8.3 版本,可以通过以下方式启用 `zip` 扩展1. 登录到宝塔面板并导航至 **软件商店** 或者已经安装PHP 列表。 2. 找到对应的 PHP 8.3 配置选项卡,点击进入其设置页面。 3. 在设置页面找到 **安装扩展** 功能区,搜索 `zip` 并尝试一键安装扩展[^1]。 4. 如果成功完成安装,则无需额外操作即可正常使用此扩展。 如果上述方法未能正常工作或者遇到错误提示,可以考虑手动方式进行安装。 --- #### 方法二:手动编译安装 ZIP 扩展 当自动工具失效时,可能需要采取更底层的手动干预来解决问题: 1. 使用 SSH 连接到服务器终端; 2. 下载 PECL 提供的最新版本 YAR 或其他所需组件作为参考流程的一部分(尽管这里目标是 ZIP),例如命令如下所示: ```bash wget https://pecl.php.net/get/zip-1.20.0.tgz tar zxvf zip-1.20.0.tgz cd zip-1.20.0/ ``` 3. 准备好环境变量以及必要的构建脚本执行路径设定,具体步骤包括调用 phpize 和 configure 工具链: ```bash /www/server/php/83/bin/phpize ./configure --with-php-config=/www/server/php/83/bin/php-config make && make install ``` 4. 修改当前使用的 PHP 配置文件 `/www/server/php/83/etc/php.ini` ,取消注释或新增一行加载新编译好的 so 文件位置指向语句: ```ini extension=zip.so ``` 5. 最后重启 Web 服务使更改生效: ```bash bt restart ``` 注意,在某些情况下还需要确认依赖库的存在状态比如 OpenSSL 相关动态链接库是否已正确定位放置于适当目录下以便支持加密解密等功能需求[^2]。 --- #### 方法三:修复潜在缺失的基础开发包 有时即使完成了以上两步仍会遭遇失败情形,这通常是因为系统层面缺乏一些基础性的构建工具或是特定版本兼容性问题所致。此时可参照下面建议补充相应资源: - 确认 CentOS/RHEL 类型发行版上是否存在 autoconf 软件包未被预先装载的情况,并利用 yum 命令予以补全[^4]: ```bash yum install autoconf ``` - 对 Debian/Ubuntu 用户群体而言则需采用 apt-get 方式获取同等效用程序集: ```bash sudo apt-get update sudo apt-get install build-essential libssl-dev pkg-config ``` 完成这些前置条件后再重复之前的操作应该能够顺利完成整个过程。 --- ### 总结 综上所述,针对不同场景下的实际状况可以选择适合自己的解决方案来进行处理。无论是借助图形界面还是深入源码级别调整参数都可以达到预期效果即让 PHP 支持 ZIP 格式的压缩与解压能力。 ```python import zipfile # 创建一个新的ZIP存档 new_zip = zipfile.ZipFile('example.zip', 'w') new_zip.write('file_to_compress.txt') # 添加单个文件进去 new_zip.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值