概述

本教程安装版本 php7.4 swoole4.6.4

步骤:

  • 安装php镜像
  • 创建php容器
  • 安装gcc g++编译环境
  • 安装swoole扩展
  • 配置php.ini
  • 重启容器

docker 安装PHP

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

创建容器

# 创建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的扩展

更新镜像源

apt-update ## 等待更新完成

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

apt install -y gcc g++ autoconf libtool make

使用pecl安装swoole扩展

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

pecl install swoole

修改配置php.ini

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

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

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

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`
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 docker,php,写入swoole扩展

重启容器

# 重启容器
docker restart TiusPHP7.4

检查swoole扩展

检查swoole是否安装成功

# 进入容器
docker exec -it TiusPHP7.4 bash
# 检查扩展
php -m
#[PHP Modules]
# ...  扩展列表
# swoole
# ...
#[Zend Modules]