나는 사용하고 싶다http://php.net/manual/en/ziparchive.setencryptionname.php그러나 이는 libzip 버전 1.2를 사용할 수 있어야 합니다. 데비안에서는 $ 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에서 파생된 최신 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에서 패키지를 설치할 수 있으며 문제는 저절로 해결되므로 소스 코드를 빌드할 필요가 없습니다.