修复php7.3版本中不支持Zip扩展问题
部分用户反映php73在运行时缺少zip扩展导致异常报错问题,针对这问题也解决过好几个人相同的问题得出的方案
首先打开ssh控制台
在SSH命令行界面逐行执行以下语句:
cd /www/server/php/73/src/ext/zip/
/www/server/php/73/bin/phpize
./configure —with-php-config=/www/server/php/73/bin/php-config
make && make install
echo “extension = zip.so” >> /www/server/php/73/etc/php.ini
最后在软件商店重启一下 PHP 服务即可。
官方的https://www.bt.cn/bbs/thread-36416-1-1.html 解决方案
以上解决不了执行以下方案
备用方案
删除旧版本
yum remove libzip -y
安装新版本
cd /tmp && wget https://libzip.org/download/libzip-1.5.0.tar.gz
tar -zxvf libzip-1.5.0.tar.gz
cd ./libzip-1.5.0
mkdir build && cd build && cmake .. && make && make install
个别centos版本较低或过高会出现的问题
执行 mkdir build && cd build && cmake .. && make && make install
出现 cmake: symbol lookup error: cmake: undefined symbol: archive_write_add_filter_zstd 这类报错则执行下面这段
cd /etc/yum.repos.d
mkdir bak
cp * bak/
sed -i 's/$releasever/8-stream/' CentOS*repo
cd /tmp/libzip-1.5.0/build && cmake .. && make && make install
以下步骤需要注意一下
首先检查该文件是否已经包含需要的内容
cat /etc/ld.so.conf
如果没有则执行以下命令进行写入
echo -e “/usr/lib64\n/usr/lib\n/usr/local/lib\n/usr/local/lib64” >> /etc/ld.so.conf
以上步骤处理好后确定内容是否是以下样子
然后就可以再次进行编译了 逐行执行
cd /www/server/php/73/src/ext/zip/
/www/server/php/73/bin/phpize
./configure --with-php-config=/www/server/php/73/bin/php-config
make && make install
echo "extension = zip.so" >> /www/server/php/73/etc/php.ini
# 差不多后要进行一次重置缓存
sudo ldconfig
最后
1.执行 php -m 命令查看zip是否存在
2.进入宝塔进行重启下php