PHP 项目部署
本篇文档介绍如何在 Rainbond 平台上通过源代码部署 PHP 项目。
Rainbond 使用 Cloud Native Buildpacks (CNB) 构建 PHP 项目,自动识别源码、解析 composer.json 中的 PHP 版本约束、安装依赖并生成容器镜像。
项目识别
Rainbond 通过以下规则识别 PHP 项目:
composer.json:源码根目录存在此文件,识别为 PHP 项目
支持的项目类型
Rainbond 当前不会对 PHP 框架做单独分流,而是统一按通用 PHP Web 项目处理。
| 类型 | 常见项目 | 说明 |
|---|---|---|
| 通用 Composer Web 项目 | Laravel、Symfony、ThinkPHP、Yii | 通常需要将 Web 根目录设置为 public |
| CMS / 原生 PHP 项目 | WordPress、Discuz!、自研 PHP 站点 | 可直接使用项目根目录或自定义 Web 根目录 |
| 简单入口项目 | 仅包含 index.php 的 PHP 应用 | 没有 composer.json 也会按 PHP 项目处理 |
构建参数
在组件的 构建源 页面或构建环境变量中,可以配置以下常用参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
| PHP 版本 | PHP 运行时版本,优先读取 composer.json 中的 require.php | 8.3 |
| Web Server | 当前源码部署页面默认使用 Nginx | nginx |
| Composer 安装参数 | 追加到 composer install 的参数,例如 --no-dev --optimize-autoloader | 空 |
| Web 根目录 | 指定 PHP Web 根目录,例如 public | 空 |
| 启动方式 | 默认或自定义 | 默认 |
支持的 PHP 版本
Rainbond 当前代码中为 PHP CNB 构建预置了以下版本:
8.18.28.3
其中平台默认版本为 8.3。