博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何在基于 Docker 的 PHP 环境安装 Gearman 扩展
阅读量:6792 次
发布时间:2019-06-26

本文共 1798 字,大约阅读时间需要 5 分钟。

  hot3.png

在 pecl 中的扩展 已经很久没有更新,最新是 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.listRUN 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 文件如下

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

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

你可能感兴趣的文章
《Python核心编程(第二版)》——1.5 运行Python
查看>>
Node.js Undocumented(1)
查看>>
《C语言及程序设计》实践项目——程序的多文件组织
查看>>
《Vertica的这些事》系列文章
查看>>
React Native热更新方案
查看>>
排序算法之珠排序
查看>>
数据结构例程——从一个顶点到其余各顶点的最短路径
查看>>
java代码中init method和destroy method的三种使用方式
查看>>
应用迁云之镜像迁移-(5)阿里云上跨VPC和区域、账号镜像迁移实践
查看>>
2015级C++第6周项目 类的组合、静态存储
查看>>
新浪微博模拟登录(Java)
查看>>
Python3的WHILE,IF例句
查看>>
Linux下设计并发队列
查看>>
[UML]UML系列——类图class的依赖关系
查看>>
Sql Server 数据库还原(请勿模仿!)
查看>>
数据库的垂直分割、水平分割和表列散之间的“纠葛”
查看>>
Myeclipse SVN插件使用
查看>>
Http Module 介绍[转]
查看>>
[转]自旋锁、排队自旋锁、MCS锁、CLH锁
查看>>
为PetaPoco添加Fill方法
查看>>