PHP8にZIP拡張機能をインストールし、ソースコードを使用してPHP拡張機能にZIP拡張機能をインストールします。

Centos の PHP 拡張ライブラリに ZIP 拡張をインストールします。PHP を 7.X から PHP8.X にアップグレードすると、2 つの PHP 拡張が無効になります。1 つは imagick 拡張、もう 1 つは ZIP 拡張です。元の imagick 拡張をアンインストールした後、pecl コマンドを使用して公式の PHP 拡張ライブラリにインストールします。ZIP 拡張のインストールに失敗し、libzip に問題があることが判明しました。ZIP 拡張をインストールします。

PHP拡張機能のインストール、CentOSでソースコードを使用してZIP拡張機能をインストールする

CentOSへのインストール PHPを7.XからPHP8.Xにアップグレードした後、2つのPHP拡張モジュールが無効になりました。1つはimagick拡張モジュール、もう1つはZIP拡張モジュールです。元のimagick拡張モジュールをアンインストールした後、peclコマンドを使用して公式PHP拡張モジュールライブラリにインストールできます。ZIP拡張モジュールをインストールしようとしたところ、インストールに失敗し、libzipに問題があることが判明しました。それでは、ZIP拡張モジュールも一緒にインストールしてみましょう。

 

 

zip拡張機能をインストールする前に、まずlibzipをインストールしてください。libzipの公式サイトにアクセスして、最新バージョンのlibzipをダウンロードしてください。

libzip 公式サイト:https://libzip.org/

PHP8にZIP拡張機能をインストールし、ソースコードを使用してPHP拡張機能にZIP拡張機能をインストールします。

Centos8 インストール ZIP 拡張機能

PHP7 から PHP8 にアップグレードした後、まず zip 拡張機能をインストールし、以前にインストールした zip と libzip をアンインストールします。

dnf zip libzip を削除する

libzipをアンインストールすると、php-pecl-zipもアンインストールされます。これはPHP7以前でインストールされていたzip拡張機能であり、アンインストールする必要があります。

アンインストール後、zipとlibzipを再インストールします

dnf インストール zip

このzipはメインのzipプログラムです。PHP拡張機能をインストールする前に、メインのzipプログラムをインストールする必要があります。

libzipはcentos8の公式ソフトウェアライブラリを使用できません。centos8のバージョンが比較的古く、公式ソフトウェアライブラリのlibzipのバージョンが低すぎます。zip拡張機能をインストールするとエラーが発生し、インストールを実行できません。

次に、libzipの公式サイトから最新バージョンのlibzipをダウンロードします。

#libzip をダウンロードします wget https://libzip.org/download/libzip-1.9.2.tar.xz #libzip を解凍します tar -xvf libzip-1.9.2.tar.xz #libzip フォルダに入り、インストールの準備をします cd libzip-1.9.2

libzip をインストールする前に、まず cmake3 をインストールする必要があります。libzip をコンパイルおよびインストールするには cmake3 が必要です。

dnf インストール -y cmake3

最後にlibzipをインストールします

# ビルド後、フォルダーに入ります mkdir build && cd build # compile cmake .. # install libzip make && make install

libzip が正常にインストールされたら、zip 拡張機能をインストールします。

pecl インストール zip

または、zip 拡張ソースを使用してインストールします。

PHP公式サイトのPHP拡張機能ウェブサイトhttps://pecl.php.net/package/zipPHP拡張機能の最新バージョンをダウンロード

peclコマンドを使ってインストールできます

wget https://pecl.php.net/get/zip-1.21.1.tgz pecl インストール zip-1.21.1.tgz

コンパイルとインストールも使用できます

wget https://pecl.php.net/get/zip-1.21.1.tgz tar -xvf zip-1.21.1.tgz cd zip-1.21.1 phpize ./configure make && make install

PHP8にZIP拡張機能をインストールし、ソースコードを使用してPHP拡張機能にZIP拡張機能をインストールします。

zip拡張機能は正常にインストールされましたが、エラーが頻繁に報告されます。 php -m コマンドを実行して、拡張機能が正しくインストールされているかどうかを確認してください。エラーが報告された場合は、エラーの処理を続行する必要があります。

システムエラー「libzip.so.5 が見つかりません」の解決策

zip 拡張機能がインストールされると、通常、「動的ライブラリ「zip.so」をロードできません」というエラーが発生します。

PHP 警告: PHP 起動: 動的ライブラリ 'zip.so' をロードできません (試行: /usr/lib64/php/modules/zip.so (libzip.so.5: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません)、/usr/lib64/php/modules/zip.so.so (/usr/lib64/php/modules/zip.so.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません) ディレクトリ)) 不明な行 0

警告: PHP 起動: 動的ライブラリ 'zip.so' をロードできません (試行: /usr/lib64/php/modules/zip.so (libzip.so.5: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません)、/usr/lib64/php/modules/zip.so.so (/usr/lib64/php/modules/zip.so.so: 共有オブジェクト ファイルを開けません: そのようなファイルまたはディレクトリはありません)) 不明な行 0

 

zip.so をロードするときに libzip.so.5 ファイルが見つからないため、libzip.so.5 ファイルが必要です。

libzip.so.5 ファイルは通常、/usr/local/lib64 にインストールされます。zip 拡張機能を使用する場合は、libzip.so.5 ファイルを /usr/local/lib/ に配置する必要があります。

FTP を使用して、/usr/local/lib64 フォルダー内の libzip.so.5 ファイルを /usr/local/lib/ フォルダーにコピーし、ファイルのアクセス許可を 755 に変更します。

もう 1 つの方法は、zip.so をそれぞれ /usr/local/lib64 ディレクトリと /usr/local/lib ディレクトリにソフト リンクし、idconfig コマンドを使用して有効にすることです。

ln -s /usr/lib64/php/modules/zip.so /usr/local/lib64/zip.so && ldconfig ln -s /usr/lib64/php/modules/zip.so /usr/local/lib/zip.so && ldconfig

PHP8にZIP拡張機能をインストールし、ソースコードを使用してPHP拡張機能にZIP拡張機能をインストールします。

スコア

手紙への返信

メールアドレスが変更されることはありません。 支払い欄に必須の項目は必須です