2016-09-06 31 views
0

これは私を夢中にしています。PHP7 fpmとmemcachedをDockerにインストール

私はDockerのアプリを持っており、php7-fpmでmemcachedをインストールしようとしています。 official docker documentationによると

私は私のDockerfileを持っている:

# PHP Version 
FROM php:7.0-fpm 

... 

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

しかし、私はこのエラーを得た:私はPHP 5.6に切り替えるにはしたくない

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

を。何か案は? ...

あらかじめありがとうございました!

M :)

答えて

3

申し訳ありませんが、私はまだどこにも「コメント」することは許されないのですので、私は「答え」としてこれを掲示しなければなりません。 php7コンテナをビルドするときにmemcache拡張を最初から作成しました。たぶん私達のアプローチはあなたを助け、正しい方向へあなたを指し示します。 Dockerhubのドキュメンテーションは本当に間違っているように見えますが、それはここでもうまくいきませんでした。 だから、これはそれが私たちの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

1

は、お返事ありがとうございました。

はい、memcachedはphp7と互換性がなく、別の方法でインストールする必要があるようです。

は、私はこの方法で解決Laradock repoで簡単にロックした後、私はコードを投稿する:

# PHP Version 
FROM php:7.0-fpm 

# Install the PHP extensions we need 
RUN 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 Memcached 
RUN 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 

はたぶん誰かに役立つことができます:)再び

M

感謝:)

関連する問題