日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Unable to load dynamic library 'zip.so' on Centos 6.8 useing php7.3

發布時間:2023/12/13 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 Unable to load dynamic library 'zip.so' on Centos 6.8 useing php7.3 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:

Centos6.8服務器升級php版本,從7.1升級到7.3,常用擴展都安裝完成之后,報:Class 'ZipArchive' not found。一看就是zip擴展沒有,需要手動安裝了。

中間一步步,一會說autoconf版本過低,一會說libzip版本過低,又說cmake版本過低,

安裝:

安裝zip過程中,發現要先安裝 libzip1.5,安裝 libzip 之前還要安裝 cmake,而且這一個個包都有版本過低問題,需要升級,請耐心往下看如何一個一個overcome

參考鏈接:https://blog.csdn.net/Phplayers/article/details/101083313

以下是我最開始嘗試的安裝步驟,大家按這個而順序來,中間出現的失敗報錯,我都做了記錄并給出相應解決方案。

1、準備 php 開發包和擴展庫:

yum install php-devel php-pear

2、安裝php的zip擴展:(PECL:The PHP Extension Community Library是php的擴展庫)

pecl install zip

此處開始若遇到失敗,請看下面的“遇到問題 / 解決問題”。

3、開啟擴展( vim /etc/php.ini ):

extension=zip.so
zlib.output_compression = On

4、重啟服務:

service php-fpm restart

此處若出現警告:PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/zip.so' - libzip.so.5: cannot...

則zip擴展加載失敗,仍然會Class 'ZipArchive' not found,解決方案請看下面的“加載zip.so”

###################################################################

遇到問題:

第二步安裝zip擴展時報錯:

autoconf version 2.64 or higher is required

解決問題

升級autoconf,參考:https://blog.csdn.net/prettyshuang/article/details/51395095

---------------------------------------------------------------------------------------------------------------

遇到問題:

升級autoconf后,繼續 pecl install zip 報錯:

checking for libzip... not found

configure: error: Please reinstall the libzip

解決問題:

安裝或升級libzip,參考:https://www.jianshu.com/p/fdbdf834faca

#刪除舊版本
yum remove libzip -y
#安裝新版本
wget https://libzip.org/download/libzip-1.5.0.tar.gz
tar -zxvf libzip-*
cd libzip*
mkdir build && cd build && cmake .. && make && make install

---------------------------------------------------------------------------------------------------------------

遇到問題:

安裝libzip時報錯:

CMake Error at CMakeLists.txt:4 (CMAKE_MINIMUM_REQUIRED):
CMake 3.0.2 or higher is required. You are running version 2.8.12.2

解決問題:

查看Cmake版本:cmake --version

安裝CMake:yum install cmake (yum方式通常也會遇到版本過低,可以手動安裝)

手動安裝請參考:https://www.cnblogs.com/gyfluck/p/10478470.html

安裝好cmake后,回去繼續安裝libzip,然后再接著執行:pecl install zip 。一切順序的話會在 /usr/lib64/php/modules/ 目錄下生成了 zip.so 文件。

###################################################################

加載zip.so

參考鏈接:https://blog.csdn.net/ren593669257/article/details/100019391

vim /etc/ld.so.conf

include ld.so.conf.d/*.conf  # 默認只有這一行
/usr/lib64
/usr/lib
/usr/local/lib
/usr/local/lib64 # 我的只要這行就夠了

查看/usr/local/lib64里面的內容

最后一步,使修改生效

sudo ldconfig

重啟php-fpm,警告消失。

網上還有一些其他的解決方案,但是我都沒成功,比如ln -s建立軟鏈接:

https://www.jianshu.com/p/393c83937949

https://stackoverflow.com/questions/54265257/unable-to-load-dynamic-library-zip-so-on-centos-7-6-1810-using-remi-php72-repo

總結:

網上有很多資料,同樣的報錯不同的解決方式,一個一個試過來, 最終摸索出一條正確的路,在此做個記錄,供有同樣問題的人參考

總結

以上是生活随笔為你收集整理的Unable to load dynamic library 'zip.so' on Centos 6.8 useing php7.3的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。