Docker – 安装php-memcached扩展不工作?

我一直试图在我的php-5.6容器中安装memcached,但是我无法得到它的工作,因为我没有看到在phpinfo()中的memcached扩展,加上由于某种原因,它抱怨说,它无法find在代码中的memcache.so。

有我的docker文件为PHP构build

FROM php:5.6-fpm RUN apt-get update && apt-get install -y \ libfreetype6-dev \ libjpeg62-turbo-dev \ libmcrypt-dev \ libpng12-dev \ && docker-php-ext-install -j$(nproc) iconv mcrypt \ && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ && docker-php-ext-install -j$(nproc) gd RUN docker-php-ext-install mysqli mbstring pdo_mysql # Download and Installing php libraries RUN apt-get install -y memcached RUN apt-get -y install php-pear php5-dev php5-memcached geoip-bin geoip-database libgeoip-dev php5-geoip # Download and Installing php libraries RUN pecl install geoip # Download and Installing git and vim RUN apt-get -y install git gcc RUN pwd RUN git clone --depth=1 git://github.com/phalcon/cphalcon.git WORKDIR /var/www/html/cphalcon/build RUN ./install EXPOSE 9000 EXPOSE 11211 COPY ./php-fpm.d/www.conf /etc/php-fpm.d/www.conf COPY ./php.ini /usr/local/etc/php/php.ini COPY ./php-fpm.conf /etc/php-fpm.conf COPY ./phalcon.ini /usr/local/etc/php/conf.d/phalcon.ini COPY ./geoip.ini /usr/local/etc/php/conf.d/geoip.ini COPY ./memcached.ini /usr/local/etc/php/conf.d/memcached.ini 

而我的docker撰写文件是

 nginx: build: ./.config/etc/nginx/ ports: - 7000:80 links: - php - memcached:memcached volumes_from: - app memcached: image: memcached:latest php: build: ./.config/etc/php/ expose: - 9000 links: - mysql - memcached:memcached volumes_from: - app app: image: php:5.6-fpm #image: php:7.0-fpm volumes: - ./:/var/www/vhosts/example.com/httpdocs command: "true" 

我在代码上的错误是

[36; 1mnginx_1 | [0mPHP消息:PHP致命错误:在读取来自上游的响应头,客户端:192.168.99.1,服务器:www.example.dev,请求:“GET / search HTTP / 1.1时,在行0上未知未find类'memcache' “,上游:”fastcgi://172.17.0.5:9000“,主机:”192.168.99.100:7000“

这里怎么了?

php图像提供了一个自定义编译的PHP,但基于Debian Jessie映像(并使用Debian的存储库)。 使用apt-get install php5-memcached ,你可以安装发行版PHP包的memcached扩展(一路安装)。

您需要通过PECL安装memcached扩展(以及通过APT构build依赖关系):

 RUN apt-get update RUN apt-get install -y libz-dev libmemcached-dev && \ pecl install memcached && \ docker-php-ext-enable memcached