Apache OpenWhisk PHP Runtime 镜像由 Apache OpenServerless(孵化中)项目提供,是专为 Apache OpenWhisk 无服务器平台设计的 PHP 运行时环境。该镜像用于在 OpenWhisk 平台上执行 PHP 函数(Action),提供 PHP 代码的运行时支持、资源隔离及与 OpenWhisk 系统的集成能力,是构建基于 PHP 的无服务器应用的核心组件。
php7.4、php8.1 等)json、curl、mbstring 等),满足基础开发需求通过 Docker Hub 或 Apache OpenServerless ***仓库拉取镜像(具体地址需参考项目发布渠道):
bashdocker pull apache/openwhisk-runtime-php:<tag> # 例如: apache/openwhisk-runtime-php:7.4
OpenWhisk 管理员需将该镜像注册为平台支持的运行时,通过修改 OpenWhisk 控制器配置(如 config.yaml)添加 PHP 运行时:
yamlruntimes: php: image: apache/openwhisk-runtime-php:7.4 default: true kinds: - kind: php:7.4
开发者通过 OpenWhisk CLI (wsk) 部署 PHP 函数,示例如下:
创建 PHP 函数文件(如 index.php):
php<?php function main(array $args) : array { $name = $args['name'] ?? 'World'; return ['message' => "Hello, $name!"]; } ?>
部署为 OpenWhisk Action:
bashwsk action create php-hello index.php --kind php:7.4
触发函数执行:
bashwsk action invoke php-hello -p name "OpenWhisk" --result
输出示例:
json{ "message": "Hello, OpenWhisk!" }
运行时会自动注入 OpenWhisk 系统环境变量,供 PHP 函数使用,主要包括:
| 环境变量名 | 说明 |
|---|---|
__OW_ACTION_NAME | 当前函数名称 |
__OW_NAMESPACE | 函数所属命名空间 |
__OW_ACTION_VERSION | 函数版本(若启用版本控制) |
__OW_ACTIVATION_ID | 当前激活(执行实例)ID |
__OW_DEADLINE | 函数执行超时时间戳(Unix 时间,毫秒) |
如需修改 PHP 运行时配置(如 php.ini 参数),可通过以下方式:
Dockerfile 添加或修改 php.ini:
dockerfileFROM apache/openwhisk-runtime-php:7.4 COPY custom-php.ini /usr/local/etc/php/conf.d/
php.ini 文件覆盖默认配置(需平台支持持久化存储挂载)。通过 OpenWhisk Action 部署参数指定函数资源限制,如内存、超时时间:
bashwsk action create php-hello index.php --kind php:7.4 --memory 256 --timeout 3000
--memory:内存限制(MB,默认 256)--timeout:超时时间(毫秒,默认 60000)直接通过 Docker 运行镜像,模拟 OpenWhisk 运行时环境(用于调试):
bashdocker run -it --rm \ -e "__OW_ACTION_NAME=test-action" \ -e "__OW_NAMESPACE=default" \ -v $(pwd)/index.php:/action/exec \ apache/openwhisk-runtime-php:7.4
说明:本地测试需手动模拟 OpenWhisk 输入输出格式,实际生产环境需通过 OpenWhisk 平台调度。
在 OpenWhisk 集群中,可通过 Docker Compose 配置运行时服务(仅供参考,具体需结合 OpenWhisk 集群部署文档):
yamlversion: '3' services: php-runtime: image: apache/openwhisk-runtime-php:7.4 restart: always networks: - openwhisk-network environment: - "PORT=8080" - "OW_RUNTIME_HTTP_PORT=8080" networks: openwhisk-network: external: true
7.4),避免 latest 标签导致版本变更风险main(array $args): array,输入输出为 JSON 可序列化数组
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429