首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Docker - install php-memcached扩展不起作用?

Docker - install php-memcached扩展不起作用?
EN

Stack Overflow用户
提问于 2016-04-11 13:34:07
回答 1查看 6.8K关注 0票数 4

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

这是我的php构建的docker文件。

代码语言:javascript
复制
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

我的对接者撰写文件是

代码语言:javascript
复制
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"

我在代码中遇到的错误是

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

这里出什么问题了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-11 16:38:52

php映像提供了自定义编译的PHP,但基于Debian映像(并使用Debian的存储库)。使用apt-get install php5-memcached,您可以为发行版的PHP包安装memcached扩展(该包是在此过程中安装的)。

您需要通过PECL安装memcached扩展(并通过APT安装它的构建依赖关系):

代码语言:javascript
复制
RUN apt-get update
RUN apt-get install -y libz-dev libmemcached-dev && \
    pecl install memcached && \
    docker-php-ext-enable memcached
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36550286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档