静态编译PHP 运行时

静态编译PHP运行时

编译步骤这样划分:

  1. 下载指定版本PHP源码
  2. 下载对应版本的扩展
  3. 下载扩展对应版本的依赖库
  4. 静态编译扩展依赖库
  5. 静态编译之前,准备工作
  6. 修改相应参数
  7. 执行编译
  8. 执行构建
  9. 打包

不同操作系统,不同cpu架构,都执行一遍上面的流程。
linux macos window + CPU arch

MacOS, Windows, Linux x86/x86_64/arm/aarch64/mips/mipsel

静态编译PHP 运行时 swoole-cli 实践

快速进入编译环节(借助容器,可以跳过安装依赖库环节,使用提前编译好依赖库)


#!/bin/bash
__DIR__=$(
  cd "$(dirname "$0")"
  pwd
)

TAG='all-dependencies-alpine-20230330T153237Z'

ALIYUN_IMAGE="registry.cn-beijing.aliyuncs.com/jingjingxyk-public/app:build-swoole-cli-${TAG}"

docker run --rm --name  swoole-cli-build-dev-all-dependencies-container -d -v ${__DIR__}:/work -w /work $ALIYUN_IMAGE tail -f /dev/null

编译脚本

下载已经编译好的PHP运行时

  1. PHP runtime 下载站点 1 static-php-cli
  2. PHP runtime 下载站点 2 swoole/swoole-cli
  3. PHP runtime 下载站点 3 swoole/swoole-cli
  4. PHP runtime 下载站点 4 jingjingxyk/swoole-cli

编译静态PHP 解析器 参考文档

参考文档

实践代码

相关讨论

下载已经编译好的PHP运行时

  1. PHP runtime 下载站点 1 static-php-cli
  2. PHP runtime 下载站点 2 swoole-cli
  3. PHP runtime 下载站点 3 swoole-cli
posted @ 2023-01-31 17:12  jingjingxyk  阅读(323)  评论(0编辑  收藏  举报