Install PHP7 fpm and memcached with Docker Install PHP7 fpm and memcached with Docker docker docker

Install PHP7 fpm and memcached with Docker


We build the memcache extension from scratch when building our php7 container. Maybe our approached helps you or points you to the right direction. The documentation in the Dockerhub really seems to be faulty, tried pecl and it didn't work here either.

So this is how it looks in our Dockerfile:

RUN apt-get update && apt-get install -y         libmemcached11 \        libmemcachedutil2 \        libmemcached-dev \        libz-dev \        git \    && cd /root \    && git clone -b php7 https://github.com/php-memcached-dev/php-memcached \    && cd php-memcached \    && phpize \    && ./configure \    && make \    && make install \    && cd .. \    && rm -rf  php-memcached \    && echo extension=memcached.so >> /usr/local/etc/php/conf.d/memcached.ini \    && apt-get remove -y build-essential libmemcached-dev libz-dev \    && apt-get remove -y libmemcached-dev libz-dev \    && apt-get autoremove -y \    && rm -rf /var/lib/apt/lists/* \    && apt-get clean


It seems that the memcached is incompatible with php7 and need another way to install it.

After a quick lock at Laradock repo I solved in this manner, I post the code:

# PHP VersionFROM php:7.0-fpm# Install the PHP extensions we needRUN apt-get update && \apt-get install -y --no-install-recommends \    curl \    libmemcached-dev \    libz-dev \    libpq-dev \    libjpeg-dev \    libpng12-dev \    libfreetype6-dev \    libicu-dev \    libssl-dev \    libmcrypt-dev && \    docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr && \    docker-php-ext-install gd mysqli opcache intl    ..... # Install MemcachedRUN curl -L -o /tmp/memcached.tar.gz "https://github.com/php-memcached-   dev/php-memcached/archive/php7.tar.gz" && \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


one more solution

FROM php:7.2-fpm# ...# INSTALL memcachedRUN apt-get upgrade -yRUN apt-get install -y memcachedRUN apt-get install -y libmemcached-dev zlib1g-dev libicu-devRUN git clone -b php7 https://github.com/php-memcached-dev/php-memcached /usr/src/php/ext/memcached \&& docker-php-ext-configure /usr/src/php/ext/memcached \    --disable-memcached-sasl \&& docker-php-ext-install /usr/src/php/ext/memcached \&& rm -rf /usr/src/php/ext/memcached