Установка
PHP 4
Замечание:
До версии 4.1.0 поддержка zip в PHP была экспериментальной.
В связи с тем, что модуль zip для PHP 4 не поддерживается, мы рекомендуем использовать модули из PECL, вместо поставляемого в комплекте.
Linux-системы
Для использования этих функций необходимо скомпилировать PHP с поддержкой zip, используя конфигурационную опцию --with-zip[=DIR] . Где [DIR] - префикс библиотеки » ZZIPlib.
Windows
Для использования этих функций пользователи Windows должны включить php_zip.dll в php.ini.
PHP 5.2.0 и более поздние версии
Linux системы
Для использования этих функций необходимо скомпилировать PHP с поддержкой zip, используя конфигурационную опцию --enable-zip .
Windows
Для использования этих функций пользователи Windows должны включить php_zip.dll в php.ini.
Установка через PECL
Информация по установке этого расширения PECL может быть найдена в главе руководства Установка PECL расширений. Дополнительная информация, такая как новые версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, может быть найдена здесь: » http://pecl.php.net/package/zip.
DLL для этого расширения PECL в данный момент недоступна. См. также раздел сборка на Windows.
В PHP 4 эта DLL находится в директории extensions/ внутри директории бинарного дистрибутива PHP для Windows.
Коментарии
Getting error
configure: error: Please reinstall the libzip distribution
when compiling this extension for php 7.3?
You need to install the 'libzip' package.
In Dockerfile you would do this like:
# Install zip
RUN apt-get update && \
apt-get install -y \
libzip-dev \
&& docker-php-ext-install zip
No package 'libzip' found
INSTALLATION PHP FROM SOURCE:
./configure \
--prefix=/usr/local/php-7.4.5 \
--disable-debug \
--enable-fpm \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-inline-optimization \
--enable-ftp \
--enable-xml \
--with-libdir=/usr/lib64 \
--with-curl \
--with-iconv \
--with-gettext \
--with-mysqli \
--enable-pdo \
--with-pdo-mysql \
--with-zlib \
--with-zlib-dir=/usr/lib \
--srcdir=/usr/local/src/php-7.4.5 \
--enable-sockets \
--enable-soap \
--with-openssl \
--enable-gd \
--with-jpeg \
--with-xpm \
--with-freetype \
--with-zip \
--with-libzip=/usr/local/lib64/ \
ONIG_LIBS=/usr/lib64
checking for zip archive read/write support... yes
checking for libzip >= 0.11... no
configure: error: Package requirements (libzip >= 0.11) were not met:
No package 'libzip' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables LIBZIP_CFLAGS
and LIBZIP_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
INSTALLATION libzip-1.10.1 from source:
make install
[ 50%] Built target zip
[ 94%] Built target man
[ 96%] Built target zipcmp
[ 96%] Built target zipmerge
[ 98%] Built target ziptool
[ 98%] Built target add-compressed-data
[ 98%] Built target autoclose-archive
[100%] Built target in-memory
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/lib64/pkgconfig/libzip.pc
-- Installing: /usr/local/lib64/cmake/libzip/modules/FindNettle.cmake
-- Installing: /usr/local/lib64/cmake/libzip/modules/Findzstd.cmake
-- Installing: /usr/local/lib64/cmake/libzip/modules/FindMbedTLS.cmake
-- Installing: /usr/local/include/zipconf.h
-- Installing: /usr/local/lib64/cmake/libzip/libzip-config.cmake
-- Installing: /usr/local/lib64/cmake/libzip/libzip-config-version.cmake
-- Installing: /usr/local/lib64/cmake/libzip/libzip-targets.cmake
-- Installing: /usr/local/lib64/cmake/libzip/libzip-targets-noconfig.cmake
-- Installing: /usr/local/lib64/libzip.so.5.5
-- Up-to-date: /usr/local/lib64/libzip.so.5
-- Up-to-date: /usr/local/lib64/libzip.so
-- Installing: /usr/local/include/zip.h
-- Installing: /usr/local/share/man/man3/ZIP_SOURCE_GET_ARGS.3
...
...
-- Installing: /usr/local/bin/zipcmp
-- Set runtime path of "/usr/local/bin/zipcmp" to ""
-- Installing: /usr/local/bin/zipmerge
-- Set runtime path of "/usr/local/bin/zipmerge" to ""
-- Installing: /usr/local/bin/ziptool
-- Set runtime path of "/usr/local/bin/ziptool" to ""
OS: RedHat-7.9
SOLVET "No package 'libzip' found":
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib64/pkgconfig/
$ ./configure \
...
--with-zip \
...
Configuration OK
$ make && make install