1、拉取php镜像
docker pull php:7.4-fpm
# 拉取php7.4的镜像
2、进入容器环境
docker run -it --name php74 php:7.4-fpm /bin/bash
### --name php74 起一个名字,后续与其他版本好做区分
### -i 我们需要交互性的操作 -t 在容器内挂起终端
### /bin/bash 需要一个交互性的shell供我们进行操作
3、准备工作
apt-get update
apt-get install -y gcc make vim autoconf wget
### 由于安装的扩展是非官方的[非php官方],只能有源码进行编译,所以需要安装一个rar 的解压
wget https://www.rarlab.com/rar/rarlinux-x64-612.tar.gz
tar -xzpvf rarlinux-x64-612.tar.gz
cd rar
make
4、拉取并解压源码
wget https://github.com/pangdahua/php7-wxwork-finance-sdk/archive/refs/tags/1.2.0.tar.gz
wget https://wwcdn.weixin.qq.com/node/wework/images/sdk_20201116.rar
tar -zxvf 1.2.0.tar.gz
rar x sdk_20201116.rar
### 解压完毕
cd sdk_20201116/C_sdk
cp libWeWorkFinanceSdk_C.so ../../php7-wxwork-finance-sdk-1.2.0
cp WeWorkFinanceSdk_C.h ../../php7-wxwork-finance-sdk-1.2.0
5、开始编译扩展源码
cd php7-wxwork-finance-sdk-1.2.0
### 找到当前的phpize所在,php-config与它在同一目录下
whereis phpize
### 我的在/usr/local/bin
### 1、执行下面的命令
/usr/local/bin/phpize
### 2、执行完毕之后,再次执行下面的命令
./configure --with-php-config=/usr/local/bin/php-config --with-wxwork-finance-sdk=/phplib/php7-wxwork-finance-sdk-1.2.0 #[这个地址是上面的php7-wxwork-finance-sdk-1.2.0的地址]
### 3、如果没有错误,则进行编译操作
make && make install
### 若1、2有报错,记得检测php-config与phpize的目录位置是否正确,替换为正确的目录之后,重新执行1、2、3步骤
6、增加扩展
### 第5步进行完毕之后会提示编译后扩展的位置
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20190902/
### 我们切换到给出的目录,查看扩展是否已经生成
cd /usr/local/lib/php/extensions/no-debug-non-zts-20190902/
### 若该目录存在 wxwork_finance_sdk.so 文件,则代表扩展编译成功
### 编译成功后,我们将扩展配置到ini文件内,具体目录根据你们自身的来进行查看
cd /usr/local/etc/php/conf.d
### 该目录内有一文件:docker-php-ext-sodium.ini;也不一定是这个文件,自行找一个ini的文件编辑即可。
vim docker-php-ext-sodium.ini
### 打开上述的文件,将扩展加入即可
extension=wxwork_finance_sdk.so
### 加入完成,执行下面的命令进行查看
php -m
### 查看列出的扩展是否存在 wxwork_finance_sdk,存在扩展且没有报错即可
### 重启容器
docker restart [容器id]