From 409ec06f9a1e7edefdfff104c0cd6b915a00e851 Mon Sep 17 00:00:00 2001 From: "Shao Yu-Lung (Allen)" Date: Mon, 5 Apr 2021 18:34:49 +0800 Subject: [PATCH] support zookeeper extension #2927 --- docker-compose.yml | 2 ++ env-example | 2 ++ php-fpm/Dockerfile | 25 +++++++++++++++++++++++++ workspace/Dockerfile | 26 ++++++++++++++++++++++++++ 4 files changed, 55 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 3fadfdae..d2995c45 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -166,6 +166,7 @@ services: - INSTALL_LNAV=${WORKSPACE_INSTALL_LNAV} - INSTALL_PROTOC=${WORKSPACE_INSTALL_PROTOC} - INSTALL_PHPDECIMAL=${WORKSPACE_INSTALL_PHPDECIMAL} + - INSTALL_ZOOKEEPER=${WORKSPACE_INSTALL_ZOOKEEPER} - PROTOC_VERSION=${WORKSPACE_PROTOC_VERSION} - INSTALL_DOCKER_CLIENT=${WORKSPACE_INSTALL_DOCKER_CLIENT} - http_proxy @@ -263,6 +264,7 @@ services: - INSTALL_XHPROF=${PHP_FPM_INSTALL_XHPROF} - INSTALL_XMLRPC=${PHP_FPM_INSTALL_XMLRPC} - INSTALL_PHPDECIMAL=${PHP_FPM_INSTALL_PHPDECIMAL} + - INSTALL_ZOOKEEPER=${PHP_FPM_INSTALL_ZOOKEEPER} - DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL=${PHP_DOWNGRADE_OPENSSL_TLS_AND_SECLEVEL} - PUID=${PHP_FPM_PUID} - PGID=${PHP_FPM_PGID} diff --git a/env-example b/env-example index 9b71f674..e3093f62 100644 --- a/env-example +++ b/env-example @@ -198,6 +198,7 @@ WORKSPACE_INSTALL_DOCKER_CLIENT=false WORKSPACE_INSTALL_LNAV=false WORKSPACE_INSTALL_PROTOC=false WORKSPACE_INSTALL_PHPDECIMAL=false +WORKSPACE_INSTALL_ZOOKEEPER=false WORKSPACE_PROTOC_VERSION=latest ### PHP_FPM ############################################### @@ -258,6 +259,7 @@ PHP_FPM_INSTALL_SSHPASS=false PHP_FPM_INSTALL_MAILPARSE=false PHP_FPM_INSTALL_WKHTMLTOPDF=false PHP_FPM_INSTALL_PHPDECIMAL=false +PHP_FPM_INSTALL_ZOOKEEPER=false PHP_FPM_FFMPEG=false PHP_FPM_AUDIOWAVEFORM=false PHP_FPM_ADDITIONAL_LOCALES="en_US.UTF-8 es_ES.UTF-8 fr_FR.UTF-8" diff --git a/php-fpm/Dockerfile b/php-fpm/Dockerfile index 66cd3c28..c77d7a65 100644 --- a/php-fpm/Dockerfile +++ b/php-fpm/Dockerfile @@ -1094,6 +1094,31 @@ RUN if [ ${INSTALL_PHPDECIMAL} = true ]; then \ ;fi \ ;fi +########################################################################### +# zookeeper +########################################################################### +ARG INSTALL_ZOOKEEPER=false + +RUN set -eux; \ + if [ ${INSTALL_ZOOKEEPER} = true ]; then \ + apt install -yqq libzookeeper-mt-dev; \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ + curl -L -o /tmp/php-zookeeper.tar.gz https://github.com/php-zookeeper/php-zookeeper/archive/master.tar.gz; \ + mkdir -p /tmp/php-zookeeper; \ + tar -C /tmp/php-zookeeper -zxvf /tmp/php-zookeeper.tar.gz --strip 1; \ + cd /tmp/php-zookeeper; \ + phpize && ./configure && make && make install;\ + else \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ + pecl install zookeeper-0.5.0; \ + else \ + pecl install zookeeper-0.7.2; \ + fi; \ + fi; \ + docker-php-ext-enable zookeeper; \ + php -m | grep -q 'zookeeper'; \ + fi + ########################################################################### # New Relic for PHP: ########################################################################### diff --git a/workspace/Dockerfile b/workspace/Dockerfile index f5b2048d..fe662983 100644 --- a/workspace/Dockerfile +++ b/workspace/Dockerfile @@ -1600,6 +1600,32 @@ RUN if [ ${INSTALL_PHPDECIMAL} = true ]; then \ ;fi \ ;fi +########################################################################### +# zookeeper +########################################################################### +ARG INSTALL_ZOOKEEPER=false + +RUN set -eux; \ + if [ ${INSTALL_ZOOKEEPER} = true ]; then \ + apt install -yqq libzookeeper-mt-dev; \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \ + curl -L -o /tmp/php-zookeeper.tar.gz https://github.com/php-zookeeper/php-zookeeper/archive/master.tar.gz; \ + mkdir -p /tmp/php-zookeeper; \ + tar -C /tmp/php-zookeeper -zxvf /tmp/php-zookeeper.tar.gz --strip 1; \ + cd /tmp/php-zookeeper; \ + phpize && ./configure && make && make install;\ + else \ + if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \ + pecl install zookeeper-0.5.0; \ + else \ + pecl install zookeeper-0.7.2; \ + fi; \ + fi; \ + echo "extension=zookeeper.so" >> /etc/php/${LARADOCK_PHP_VERSION}/mods-available/zookeeper.ini; \ + ln -s /etc/php/${LARADOCK_PHP_VERSION}/mods-available/zookeeper.ini /etc/php/${LARADOCK_PHP_VERSION}/cli/conf.d/30-zookeeper.ini; \ + php -m | grep -q 'zookeeper'; \ + fi + # #-------------------------------------------------------------------------- # Final Touch