Skip to content

Commit

Permalink
Merge pull request #2952 from laradock/fix-2828
Browse files Browse the repository at this point in the history
Fix Laravel-Horizon and PHP-Worker Build Issue
  • Loading branch information
bestlong committed Apr 17, 2021
2 parents 8251316 + ddcf0b0 commit b3cdfd5
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 32 deletions.
1 change: 1 addition & 0 deletions .env.example
Expand Up @@ -288,6 +288,7 @@ PHP_WORKER_INSTALL_GNUPG=false
PHP_WORKER_INSTALL_PGSQL=false
PHP_WORKER_INSTALL_MONGO=false
PHP_WORKER_INSTALL_BCMATH=false
PHP_WORKER_INSTALL_MEMCACHED=false
# PHP_WORKER_INSTALL_OCI8 Does not work in php5.6 version
PHP_WORKER_INSTALL_OCI8=false
PHP_WORKER_INSTALL_PHALCON=false
Expand Down
1 change: 1 addition & 0 deletions docker-compose.yml
Expand Up @@ -318,6 +318,7 @@ services:
- INSTALL_PGSQL=${PHP_WORKER_INSTALL_PGSQL}
- INSTALL_MONGO=${PHP_WORKER_INSTALL_MONGO}
- INSTALL_BCMATH=${PHP_WORKER_INSTALL_BCMATH}
- INSTALL_MEMCACHED=${PHP_WORKER_INSTALL_MEMCACHED}
- INSTALL_OCI8=${PHP_WORKER_INSTALL_OCI8}
- INSTALL_PHALCON=${PHP_WORKER_INSTALL_PHALCON}
- INSTALL_SOAP=${PHP_WORKER_INSTALL_SOAP}
Expand Down
35 changes: 11 additions & 24 deletions laravel-horizon/Dockerfile
Expand Up @@ -23,7 +23,6 @@ RUN apk --update add wget \
curl \
git \
build-base \
libmemcached-dev \
libmcrypt-dev \
libxml2-dev \
pcre-dev \
Expand All @@ -40,13 +39,6 @@ RUN apk --update add wget \
RUN pecl channel-update pecl.php.net; \
docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl

RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install memcached-2.2.0 mcrypt-1.0.1; \
else \
pecl install memcached mcrypt-1.0.1; \
fi; \
docker-php-ext-enable memcached

# Add a non-root user to help install ffmpeg:
ARG PUID=1000
ENV PUID ${PUID}
Expand Down Expand Up @@ -270,25 +262,20 @@ RUN if [ ${INSTALL_YAML} = true ]; then \
ARG INSTALL_MEMCACHED=false

RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
apk --update add libmemcached-dev; \
# Install the php memcached extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/2.2.0.tar.gz"; \
pecl install memcached-2.2.0; \
else \
curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-dev/php-memcached/archive/v3.1.4.tar.gz"; \
fi \
&& mkdir -p memcached \
&& tar -C memcached -zxvf /tmp/memcached.tar.gz --strip 1 \
&& ( \
cd memcached \
&& phpize \
&& ./configure \
&& make -j$(nproc) \
&& make install \
) \
&& rm -r memcached \
&& rm /tmp/memcached.tar.gz \
&& docker-php-ext-enable memcached \
;fi
pecl install memcached; \
fi; \
docker-php-ext-enable memcached; \
php -m | grep -r 'memcached'; \
fi

#--------------------------------------------------------------------------
# Clean up
#--------------------------------------------------------------------------

RUN rm /var/cache/apk/* \
&& mkdir -p /var/www
Expand Down
26 changes: 18 additions & 8 deletions php-worker/Dockerfile
Expand Up @@ -23,7 +23,6 @@ RUN apk --update add wget \
curl \
git \
build-base \
libmemcached-dev \
libmcrypt-dev \
libxml2-dev \
pcre-dev \
Expand All @@ -40,13 +39,6 @@ RUN apk --update add wget \
RUN pecl channel-update pecl.php.net; \
docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl

RUN if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install memcached-2.2.0 mcrypt-1.0.1; \
else \
pecl install memcached mcrypt-1.0.1; \
fi; \
docker-php-ext-enable memcached

# Add a non-root user:
ARG PUID=1000
ENV PUID ${PUID}
Expand Down Expand Up @@ -404,6 +396,24 @@ RUN if [ ${INSTALL_XMLRPC} = true ]; then \
php -m | grep -r 'xmlrpc'; \
fi

###########################################################################
# PHP Memcached:
###########################################################################

ARG INSTALL_MEMCACHED=false

RUN if [ ${INSTALL_MEMCACHED} = true ]; then \
apk --update add libmemcached-dev; \
# Install the php memcached extension
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
pecl install memcached-2.2.0; \
else \
pecl install memcached; \
fi; \
docker-php-ext-enable memcached; \
php -m | grep -r 'memcached'; \
fi

#
#--------------------------------------------------------------------------
# Optional Supervisord Configuration
Expand Down

0 comments on commit b3cdfd5

Please sign in to comment.