目前,php-memcached-dev:php7 分支包含此扩展的源代码。
要安装它,您仍然可以使用 docker-php-ext-*
命令,但需要自己检出源代码。
基础安装
假设已经安装了安装该扩展所需的所有内容,则可以执行以下操作:
RUN 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
这个代码块将克隆存储库,配置和安装扩展,然后自我清理。
先决条件
构建扩展最可能需要安装两个包,我们可以通过以下方式添加和删除它们:
ENV MEMCACHED_DEPS zlib-dev libmemcached-dev cyrus-sasl-dev git
RUN set -xe \
&& apk add --no-cache libmemcached-libs zlib \
&& apk add --no-cache \
--virtual .memcached-deps \
$MEMCACHED_DEPS \
&& 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 \
&& apk del .memcached-deps
更新于2017年5月17日
现在memcached
已经被加入到官方的PHP扩展库中,供php7使用(v3 -> php7/7.1, v2 -> php5)
这使得安装过程有点不同了
FROM php:7.0-alpine
ENV MEMCACHED_DEPS zlib-dev libmemcached-dev cyrus-sasl-dev
RUN apk add --no-cache --update libmemcached-libs zlib
RUN set -xe \
&& apk add --no-cache --update --virtual .phpize-deps $PHPIZE_DEPS \
&& apk add --no-cache --update --virtual .memcached-deps $MEMCACHED_DEPS \
&& pecl install memcached \
&& echo "extension=memcached.so" > /usr/local/etc/php/conf.d/20_memcached.ini \
&& rm -rf /usr/share/php7 \
&& rm -rf /tmp/* \
&& apk del .memcached-deps .phpize-deps