2

Docker を使用したアプリがあり、php7-fpm を使用して memcached をインストールしようとしています。

私のDockerfileにある公式のdockerドキュメントによると:

# PHP Version
FROM php:7.0-fpm

...

# Install Memcached
RUN apt-get install -y libmemcached-dev && \
pecl install memcached && \
docker-php-ext-enable memcached

しかし、私はこのエラーが発生しました:

pecl/memcached requires PHP (version >= 5.2.0, version <= 6.0.0, excluded versions: 6.0.0), installed version is 7.0.9

PHP 5.6 に切り替えたくありません。何か案は?

4

3 に答える 3

8

php7 コンテナーをビルドするときに、memcache 拡張機能をゼロからビルドします。たぶん、私たちのアプローチがあなたを助けたり、正しい方向に向けたりするでしょう。Dockerhub のドキュメントは本当に間違っているようで、pecl を試してみましたが、ここでも機能しませんでした。

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
于 2016-09-06T11:43:02.303 に答える