1. 概述
    1. shell hook 支持
    2. Composer 文件
    3. 扩展支持
      1. PHP 5.6
      2. PHP 7.0
      3. PHP 7.1
  2. 构建与部署流程
  3. 部署示例

概述

PHP(全称:PHP: Hypertext Preprocessor,即“PHP:超文本预处理器”)是一种广泛使用的开源服务器端脚本语言,尤其适用于Web开发。 平台默认会根据源码根目录是否有index.php 文件或者 composer.json来识别为 PHP 项目.

shell hook 支持

通过配置 composer.json 进行 shell hook 对调用

{
  "scripts": {
    "pre-install-cmd": ["bash ./pre-install-cmd.sh"],
    "post-install-cmd": ["bash ./post-install-cmd.sh"]
  },
  "require": {
    "php": "7.1.21",
    "ext-memcached": "*"
  }
}

其中 pre-install-cmd 定义内容会在 install 前执行,post-install-cmd 定义内容会在 install 后执行,定义脚本必须提前创建并赋予执行权限

Composer 文件

默认源码根目录需要存在 composer.json 和 composer.lock 文件。composer.lock 其中可以通过如下命令生成

composer update --ignore-platform-reqs

扩展支持

PHP 5.6

在 KDO 上自动启用以下内置扩展(此列表不包括默认情况下 PHP 启用的扩展,例如 DOM,JSON,PCRE 或 PDO):

以下内置扩展已经构建为“共享”,可以通过 composer.json(括号中给出的内部标识符名称)启用:

可以通过 composer.json 启用以下第三方扩展(括号中给出的内部标识符名称):

PHP 7.0

在 KDO 上自动启用以下内置扩展(此列表不包括默认情况下 PHP 启用的扩展,例如 DOM,JSON,PCRE 或 PDO):

以下内置扩展已经构建为“共享”,可以通过 composer.json(括号中给出的内部标识符名称)启用:

可以通过 composer.json 启用以下第三方扩展(括号中给出的内部标识符名称):

PHP 7.1

在 KDO 上自动启用以下内置扩展(此列表不包括默认情况下 PHP 启用的扩展,例如 DOM,JSON,PCRE 或 PDO):

以下内置扩展已经构建为“共享”,可以通过 composer.json(括号中给出的内部标识符名称)启用:

可以通过 composer.json 启用以下第三方扩展(括号中给出的内部标识符名称):

构建与部署流程

flowchart TD
    A[提交 PHP 源码] --> B{根目录特征文件}
    B -->|index.php| C[识别为 PHP 项目]
    B -->|composer.json| C
    C --> D[选择 PHP 版本与应用模板]
    D --> E[准备 composer.json 与 composer.lock]
    E --> F[运行 pre-install-cmd]
    F --> G[执行 composer install]
    G --> H[运行 post-install-cmd]
    H --> I[启用内置或共享扩展]
    I --> J[构建 PHP-FPM 运行镜像]
    J --> K[推送镜像到仓库]
    K --> L[生成 Deployment 与 Service]
    L --> M[部署到环境并创建路由]
    M --> N[访问应用验证]

部署示例

进入到项目下,新建应用选择基于源码示例进行构建,选中 PHP Demo 并默认全部下一步即可。