1. 程式人生 > 其它 >寶塔PHP7.3版本安裝ZIP擴充套件

寶塔PHP7.3版本安裝ZIP擴充套件

因為公司有個需求之前寫了個外掛,用到了PHPOffice,這個包其中的PHPEcexl用到了ZIP擴充套件,導致一直失敗。之前7.2是沒有問題的,懷疑是PHP更新版本導致的問題,隨後檢視日誌發現一條php Class 'ZipArchive' not found,然後去檢視PHPINFO,發現確實沒有ZIP擴充套件。

隨後百度了下寶塔PHP7.3 ZIP擴充套件,查到了解決方案。

原因回顧:

早期安裝的Php7.3是獨立編譯zip擴充套件,後續安裝及升級是整合編譯的,導致升級後會重複載入zip模組.

為避免這個錯誤.

後面的PHP就不再單獨編譯ZIP擴充套件了。
然後呢,PHP 7.3.8,ZIP 模組不再整合了,在面板配置中卻沒有安裝ZIP擴充套件的選擇。
這樣新安裝php7.3就會出現phpzip丟失的問題

但是,ZIP擴充套件本來就包含在軟體包裡,解決這個問題,只需要手動進行新增即可.

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

安裝好zip擴充套件,還需要在PHP配置檔案中啟用.

在php.ini中新增這一行:

extension = /www/server/php/73/lib/php/extensions/no-debug-non-zts-20180731/zip.so

然後重啟php7.3即可.

安裝過程會報錯、libzip不支援或未安裝
安裝libzip,即可解決
wget https://nih.at/libzip/libzip-1.2.0.tar.gz
tar -zxvf libzip-1.2.0.tar.gz cd libzip-1.2.0
./configure
make && make install

zipconf.h找不到,新增軟連線,即可解決
ln -s /usr/local/lib/libzip/include/zipconf.h /usr/local/include/zipconf.h