docker配置 ext-async 拓展

docker配置 ext-async 拓展

其实很简单,只是很多人都很容易跟我犯一样的错误:版本对不上。什么版本呢?swoole的版本和ext-async的版本。绕开这个坑,安装就会显得很简单了,否则就会出现各种错误,而且你还找不到答案。

在这里给你们看一下让我崩溃的一张图片:

docker配置 ext-async 拓展_第1张图片

1 安装过程

为了实现版本可控,不要从pecl的官网去找swoole的拓展,直接去github上面去找,我写这篇博客的时候,由于ext-async的最新版本能兼容swoole4.4.16,所以就安装了这个版本。

1.1 docker环境准备

docker run -it --name swoole -p 9502:9502 -v 随便找一个挂载目录:/var/www/html yangqingxian/php-fpm

这里我用的是在另外一位大哥搭建的环境上,新加了一些拓展所集成的docker环境,你也可以直接用他原本的,就是docker环境搭建中使用的php-fpm

如果我有时间,我会把环境上传到dockerhub上,去我的仓库中找找,可能会有。

使用这个环境是因为它对 php 拓展安装很方便。具体方式可以见我这里:docker环境下安装php拓展。

1.2 下载源码

到github上去找源码,如果你说你安装过了swoole,可以用下面的命令:

php --ri swoole 

docker配置 ext-async 拓展_第2张图片

这是我在宿主机上安装的版本,忽略这个版本。

1.2.1 下载ext-async拓展

地址:https://github.com/swoole/ext-async/releases

或者通过github搜索。

docker配置 ext-async 拓展_第3张图片

这里我下载的是4.4.16

1.2.2 下载swoole拓展

地址:https://github.com/swoole/swoole-src/releases

4.4.16 版本的地址:https://github.com/swoole/swoole-src/releases/tag/v4.4.16

1.3 编译源文件

上面在开始运行docker镜像时,指定了一个容器,就把解压文件放到那里面去,这样就会同步到容器中,比直接在容器中下载这样速度更快一点。

1.3.1 开始编译

先是swoole,老一套了,到swoole目录下,执行下面的命令:

# 安装4步曲
phpize
./configure
make
make install
# 使拓展生效
docker-php-ext-enable swoole

再来是ext-async,到其目录下,执行下面的命令:

phpize
./configure
make
make install
# 这个拓展的名字是 swoole-async
docker-php-ext-enable swoole-async

最后就是检查一下,安装是否成功了:

php -m
# 看看是不是有了
swoole
swoole-async

你可能感兴趣的:(docker,实战,环境配置)