如何在基于 Docker 的 PHP 环境安装 Gearman 扩展

在 pecl 中的扩展 gearman 已经很久没有更新,最新是 2013 年发布的 gearman-1.1.2.tgz,该版本只支持 PHP7 以下的版本。如果想 在 PHP7.0+ 的环境中安装 Gearman 扩展,需要通过源码编译的方式安装。

说明:Gearman 依赖 Gearmand 服务,Gearmand 又依赖 libuuid 包。

完整的 Dockerfile 示例如下:


FROM php:7.0-apache

# 修改软件更新源
COPY ./source.list /etc/apt/sources.list

RUN apt-get update \
    # 安装扩展依赖包
    && apt-get install -y wget \
    # 下载源码包:gearman
    && mkdir -p /tmp/gearmand /tmp/gearman /tmp/libuuid \
    && wget -c https://github.com/gearman/gearmand/releases/download/1.1.18/gearmand-1.1.18.tar.gz \
    && tar -xf gearmand-1.1.18.tar.gz -C /tmp/gearmand --strip-components=1 \
    && wget -c https://github.com/wcgallego/pecl-gearman/archive/gearman-2.0.3.tar.gz \
    && tar -xf gearman-2.0.3.tar.gz -C /tmp/gearman --strip-components=1 \
    && wget -c http://nchc.dl.sourceforge.net/project/libuuid/libuuid-1.0.3.tar.gz \
    && tar -xf libuuid-1.0.3.tar.gz -C /tmp/libuuid --strip-components=1 \
    # 安装 Gearmand,主要是安装 PHP 所需的依赖 libgearman
    && cd /tmp/libuuid \
    && ./configure \
    && make \
    && make install \
    && ( \
        cd /tmp/gearmand \
        && ./configure \
        && make \
        && make install \
    ) \
    && /sbin/ldconfig \
    # 安装扩展:gearman
    && docker-php-ext-configure /tmp/gearman --with-php-config=/usr/local/bin/php-config \
    && docker-php-ext-install /tmp/gearman \
    # 清理安装过程产生的垃圾文件
    && apt-get clean \
    && apt-get autoclean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

source.list 文件如下

#debian8
deb http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie main non-free contrib
deb-src http://mirrors.aliyun.com/debian/ jessie-proposed-updates main non-free contrib

转载于:https://my.oschina.net/antsky/blog/1631209

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值