概述

本教程安装版本 php7.4 swoole4.6.4
步骤:
1.安装php镜像
2.创建php容器
3.安装gcc g++编译环境
4.安装swoole扩展
5.配置php.ini
6.重启容器

docker 安装PHP

1
2
# 首先docker下载php7.4的镜像
docker pull php:7.4

创建容器

1
2
3
4
5
6
7
8
9
10
11
12
# 创建php7.4的容器
docker run -it --name TiusPHP7.4 php:7.4 bash
# 进入容器后,可以php-v查看当前版本
php -v
#PHP 7.4.21 (cli) (built: Jul 1 2021 19:23:47) ( NTS )
#Copyright (c) The PHP Group
#Zend Engine v3.4.0, Copyright (c) Zend Technologies
# 查看是否已安装swoole扩展
php -m
#[PHP Modules]
# ... 扩展列表
#[Zend Modules]

安装Swoole扩展

进入容器后,查看对应版本及扩展后,我们可以看到并没有安装swoole
现在安装swoole的扩展

更新镜像源

1
apt-update ## 等待更新完成

安装必要的编译环境gcc g++

1
apt install -y gcc g++ autoconf libtool make

使用pecl安装swoole扩展

如果报错找不到curl
根据报错提示使用apt-get install libcurl4-openssl-dev安装后
再使用pecl install swoole安装swoole

1
pecl install swoole

修改配置php.ini

使用php --ini 找到php.ini配置文件
写入扩展extension=swoole

1
extension=swoole
没有php.ini则修改docker-php-ext-sodium.ini

使用php --ini 或者 使用whereis查看php安装目录

1
2
3
4
5
6
7
8
9
10
php --ini

# 配置文件(php.ini)路径
Configuration File (php.ini) Path: /usr/local/etc/php
# 已加载配置文件
Loaded Configuration File: (none)
# 扫描PHP conf.d 下的其他ini 文件
Scan for additional .ini files in: /usr/local/etc/php/conf.d
# 解析的其他.ini文件
Additional .ini files parsed: `/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini`
1
2
3
4
5
6
7
8
9
whereis php

php:
/usr/local/bin/php
/usr/local/etc/php
/usr/local/lib/php
/usr/local/php
/usr/src/php/php.ini-development
/usr/src/php/php.ini-production

默认情况下是在/usr/local/etc/php/conf.d/目录下
/usr/local/etc/php/conf.d/docker-php-ext-sodium.ini
写入extension=swoole

重启容器

1
2
# 重启容器
docker restart TiusPHP7.4

检查swoole扩展

检查swoole是否安装成功

1
2
3
4
5
6
7
8
9
# 进入容器
docker exec -it TiusPHP7.4 bash
# 检查扩展
php -m
#[PHP Modules]
# ... 扩展列表
# swoole
# ...
#[Zend Modules]