homebrewを介してDebianとOSxにlibzip 1.2をインストールする方法は? [閉鎖]

homebrewを介してDebianとOSxにlibzip 1.2をインストールする方法は? [閉鎖]

使いたいhttp://php.net/manual/en/ziparchive.setencryptionname.phpただし、これはlibzipバージョン1.2を使用できる必要があります。 Debianでは$ dpkg -s libzip-dev印刷してください

Package: libzip-dev
Status: install ok installed
[...]
Source: libzip
Version: 1.1.3-1+0~20170825111722.1+jessie~1.gbp254624
Depends: libzip4 (= 1.1.3-1+0~20170825111722.1+jessie~1.gbp254624), zlib1g-dev

暗号化を使用するにはlibzip> = 1.2が必要です。どうやって入手できますか?

同じ問題が私のローカル開発コンピュータにも当てはまります。私はlibzip(バージョン1.3.0で示されている)でhomebrewを介してPHPをインストールしました。

$ brew install libzip
> Warning: libzip 1.3.0 is already installed

どちらの場合もどうすればよいですか?

答え1

実行している Debian のバージョンは非常に古いでしょう。私はDebianから派生した最新のUbuntuを実行しています。 +これが私が見るものです...

lxd: net11-zesty # dpkg -l |  grep zlib
ii  zlib1g:amd64                       1:1.2.11.dfsg-0ubuntu1                  amd64        compression library - runtime
ii  zlib1g-dev:amd64                   1:1.2.11.dfsg-0ubuntu1                  amd64        compression library - development

したがって、Debianのインストールを修正するためにDebian +をアップグレードすると、最新のzlibがインストールされます。

以下を使用して最初からビルドする必要があります。LFS ビルドのガイドライン+問題に注意を払ってください。 zlib-1.3がインストールされているシステムにzlib-1.2をインストールすると、多くの問題が発生し、再起動が中断される可能性があります。

/opt または /usr/local と同じ場所にこのライブラリをインストールし、zlib-1.2 インストールディレクトリを使用してソースから PHP 拡張をビルドします。

ローカルコンピュータの場合でも同じことを行います。 Brewについて言及されているようで、Macを使用しているようです。ここでも非常に注意する必要があります。新しいライブラリをビルドしようとすると、そのライブラリに依存するすべてのコードが再構築または再リンクされるためです。

依存関係メカニズムがうまく機能しているようで、Macportsを使用します。

Brewを使用している場合は、Brewでインストールされているすべてのコードを削除し、Brewでビルドされたすべてのコードを再インストールしたいと思います。これにより、zlibを含むすべての最新コードをインポートする必要があります。

最後のアイテム。 PHP拡張を構築しようとしているので、時間と精神を節約するために、新しいオペレーティングシステム(Ubuntu Zestyなど)から始めることをお勧めします。ランプスタックしたがって、開始点として最新のApache-2.4.29 + PHP-7.1.11があります。その後、通常のPPAからパッケージをインストールでき、問題は自然に解決されるため、ソースコードをビルドする必要はありません。

関連情報