platformsh/drupal8-multisite

此包已被 废弃 并不再维护。未建议替代包。

此模板基于 "Drupal 推荐" Composer 项目,为 Platform.sh 构建 Drupal 8 的多站配置。

dev-master 2023-09-21 13:22 UTC

This package is not auto-updated.

Last update: 2023-09-28 00:23:51 UTC


README

存档模板

此模板已被存档。您仍然可以将其作为参考,但我们的团队将不再对其进行常规更新。

68747470733a2f2f706c6174666f726d2e73682f6c6f676f732f726564657369676e2f506c6174666f726d73685f6c6f676f5f626c61636b2e737667

header.svg

Platform.sh 的 Drupal 8 多站

贡献、请求功能或查看我们的资源

加入我们的社区       文档       博客       报告错误       请求功能

Open issues    Open PRs    License   

内容

关于       入门       迁移       学习       贡献      

关于

此模板使用 "Drupal 推荐" Composer 项目在多站配置中构建 Drupal 8,从相同的代码库创建三个子站安装。

它预先配置为使用 MariaDB 和 Redis 进行缓存。Drupal 安装程序将跳过请求数据库凭据,因为它们已经提供。

它还包括说明和脚本,帮助设置额外的多站实例,尽管根据您的特定需求可能需要进行一些自定义。

Drupal 是一个灵活且可扩展的基于 PHP 的 CMS 框架,能够在单个代码库上托管多个网站。

特性

  • PHP 7.4
  • MariaDB 10.4
  • Redis 6
  • 包含 Drush
  • 预先配置为多站
  • 自动 TLS 证书
  • 基于 Composer 的构建

入门

部署

快速入门

在 Platform.sh 上部署此模板的最快方式是点击下面的按钮。这将自动为您创建一个新的项目和初始化仓库。


您还可以使用以下命令快速在本地重新创建此项目

composer create-project platformsh/drupal8-multisite -s dev

注意

Platform.sh 模板优先考虑上游的发布版本,而不是我们自己的。尽管如此,我们独立于这些上游定期更新模板依赖项。因此,模板仓库不包含发布。这可能在将来发生变化,但在此之前,使用 -s dev 标志是必要的,以便使用 composer create-project

其他部署选项

对于以下所有其他选项,首先克隆此仓库

git clone https://github.com/platformsh-templates/drupal8-multisite

如果您试图从 GitHub 部署,您可以首先在您的命名空间中生成此仓库的副本,点击页面顶部的使用此模板按钮。

然后您可以使用 git clone git@github.com:YOUR_NAMESPACE/drupal8-multisite.git 在本地克隆一个副本。

直接从命令行部署到 Platform.sh
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与此仓库的设置或您在本地更新默认分支的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 设置项目远程

    运行命令 platform project:list 查找您的 PROJECT_ID

    +---------------+------------------------------------+------------------+---------------------------------+
    | ID            | Title                              | Region           | Organization                    |
    +---------------+------------------------------------+------------------+---------------------------------+
    | PROJECT_ID    | Your Project Name                  | xx-5.platform.sh | your-username                   |
    +---------------+------------------------------------+------------------+---------------------------------+

    然后从您的本地副本中运行命令 platform project:set-remote PROJECT_ID

  4. 推送

    git push platform DEFAULT_BRANCH
与 GitHub 仓库集成并部署拉取请求
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与 https://YOUR_NAMESPACE/nextjs-drupal 上设置的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 设置集成

    请参阅GitHub 集成文档,完成将您的仓库连接到 Platform.sh 上的项目的操作。为此,您需要在 GitHub 上创建访问令牌。

与 GitLab 仓库集成并部署合并请求
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与此仓库的设置或您在本地更新默认分支的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 创建仓库

    在 GitLab 上创建一个新的仓库,将其设置为本地副本的新远程,并推送到默认分支。

  4. 设置集成

    请参阅GitLab 集成文档,完成将仓库连接到 Platform.sh 上的项目的操作。为此,您需要在 GitLab 上创建访问令牌。

与 Bitbucket 仓库集成并部署拉取请求
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与此仓库的设置或您在本地更新默认分支的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 创建仓库

    在 Bitbucket 上创建一个新的仓库,将其设置为本地副本的新远程,并推送到默认分支。

  4. 设置集成

    请参阅Bitbucket 集成文档,完成将仓库连接到 Platform.sh 上的项目的操作。为此,您需要在 Bitbucket 上创建访问令牌。

安装后

每个子站单独安装。根据配置,此项目为每个子站使用子域名。对于每个子站,按正常方式运行 Drupal 安装程序。您不需要数据库凭证,因为这些凭证已经提供。

本地开发

本节提供在本地运行 drupal8-multisite 模板以及连接到活跃的 Platform.sh 环境上的实时数据库实例的说明。

在 Platform.sh 上进行开发的所有情况下,在本地开发时,使用隔离的环境是非常重要的 - 请勿将数据连接到您的生产环境。以下所有选项都假定您已将此模板部署到 Platform.sh,以及以下起始命令

$ platform get PROJECT_ID
$ cd project-name
$ platform environment:branch updates
Drupal:使用 ddev

ddev 与 Platform.sh 集成,使得本地开发 Drupal 变得简单。请检查提供商文档以获取最新信息。

一般来说,步骤如下

  1. 安装 ddev.
  2. 配置文件已提供在 .ddev/providers/platform.yaml,因此您不需要运行 ddev config
  3. 通过管理控制台获取组织 API 令牌
  4. 更新您的 dedev 全局配置文件以使用您刚刚获取的令牌
    web_environment:
    - PLATFORMSH_CLI_TOKEN=abcdeyourtoken`
  5. 运行 ddev restart
  6. 使用 platform project:info 获取您的项目 ID。如果您尚未将本地 repo 与项目连接(默认情况下,与源集成连接),则可以运行 platform project:list 来定位项目 ID,并运行 platform project:set-remote PROJECT_ID 来配置本地 Platform.sh。
  7. 更新 .ddev/providers/platform.yaml 文件以适应您的当前设置
    environment_variables:
    project_id: PROJECT_ID
    environment: CURRENT_ENVIRONMENT
    application: drupal
  8. 使用 ddev pull platform 获取当前环境的数据。
  9. 完成工作后,运行 ddev stopddev poweroff
Drupal:使用 Lando

Lando 支持配置为在 Platform.sh 上运行的 PHP 应用程序,并通过其自己的配方和插件从 Platform.sh 在远程环境中使用的同一容器注册中心拉取,在本地构建期间。

  1. 安装 Lando.
  2. 确保 Docker 已经运行 - Lando 将尝试为您启动 Docker,但最好在开始之前在后台运行。
  3. 使用命令 lando start 启动您的应用程序和服务。
  4. 要从您的 Platform.sh 环境获取最新数据(服务挂载),运行命令 lando pull
  5. 如果您已更新您的 Platform.sh 配置文件,请运行命令 lando rebuild
  6. 完成工作后,运行 lando stoplando poweroff

注意

对于上述许多步骤,如果您不在项目目录中或环境与现有拉取请求关联,您可能需要包括 CLI 标志 -p PROJECT_ID-e ENVIRONMENT_ID

迁移

以下步骤概述了迁移您的应用程序到 Platform.sh 的重要步骤 - 例如添加所需的配置文件和依赖项。并非每个步骤都适用于每个人。这些步骤实际上假定可能的最早起始点 - 本地没有任何代码,并且此模板存储库将完全从头开始重建。

如果您已经有了要迁移的代码,请专注于与您的应用程序最相关的步骤,并跳过第一部分。

入门

假设您的起点没有本地代码,以下步骤将设置一个起始仓库,我们可以从中开始修改以重建此模板并将其迁移到 Platform.sh。如果您已经有了一个要迁移的代码库,请跳到下一步 - 添加和更新文件 - 并将所有对默认分支 main 的引用替换为其他分支名称。

$ mkdir drupal8-multisite && cd drupal8-multisite
$ git init
$ git remote add upstream https://github.com/drupal/recommended-project.git
$ git branch -m main
$ git fetch --all --depth=2
$ git fetch --all --tags
$ git merge --allow-unrelated-histories -X theirs 8.9.20

添加和更新文件

在此阶段,需要添加或修改您的仓库中的少量文件。其中一些文件明确配置了应用程序如何在 Platform.sh 上构建和部署,而其他文件则仅修改您可能已经在本地拥有的文件,在这种情况下,您需要复制这些更改。

打开下面的下拉菜单,查看您在迁移过程中需要复制的所有 添加更新 的文件。

查看文件
文件 用途
psh-subsite-add.php 添加

已添加一个脚本来简化将更多站点添加到您的 Drupal 安装中。有关更多信息,请参阅 添加新子站点
web/sites/sites.php 添加

多站点支持和目录别名功能配置文件。
web/sites/default/settings.php 添加

Drupal 设置文件已更新,以导入并使用 web/sites/settings.platformsh.php。您还需要为每个子站点(例如 mainfirstsecond)创建一个相同的文件。
web/sites/default/services.yml 添加

默认服务配置。您还需要为每个子站点(例如 mainfirstsecond)创建一个相同的文件。
web/sites/default/drushrc.php 添加

Platform.sh Drupal 网站的 Drush 配置文件。您还需要为每个子站点(例如 mainfirstsecond)创建一个相同的文件。
web/sites/settings.platformsh.php 添加

包含 Platform.sh 特定的配置,包括设置数据库连接到 MariaDB 服务和通过 Redis 缓存。
.environment 添加

.environment 文件是一个方便的地方,可以 设置与应用程序相关的环境变量,这些变量可能依赖于当前环境。它在运行命令之前被引用,作为 deploypost_deploy 钩子的第一步,以及您通过 SSH 连接到应用程序容器时的每个会话的开始。它使用短横线编写,因此请注意与 bash 的区别。

它可以用来设置任何环境变量,包括依赖于 Platform.sh 提供的变量(如 PLATFORM_RELATIONSHIPSPLATFORM_ROUTES)的变量,或者修改 PATH。此文件不应 产生输出

在此,Composer 配置和 PATH 已更新,允许从路径(例如 drush)运行可执行的应用程序依赖项。
.gitignore 添加

.gitignore 文件不包括在上游中,因此已添加。
.lando.upstream.yml 添加

此文件配置 Lando 作为此模板的本地开发选项。有关配置的更多信息,请参阅 Platform.sh Lando 插件文档。有关如何开始,请参阅此 README 的 本地开发 部分。
.platform.app.yaml 添加

此文件是必需的,用于定义 Platform.sh 上所有应用程序容器的构建和部署过程。在此文件中,配置了运行时版本、与服务容器的关联和可写挂载。在此文件中,还定义了要安装的依赖项、安装时间以及将使用包管理器安装。

请查看应用文档以获取更多关于配置的详细信息。有关从构建到部署的事件序列的更多信息,请参阅构建和部署时间线文档

此模板使用Composer 2在build钩子之前使用默认的composer 构建风格安装依赖项。Drush任务在deploy钩子期间运行,并在定义的cron作业期间再次引用。
drush/platformsh_generate_drush_yml.php 添加

此文件已被包含,以便在每次部署时生成drush yaml配置。
.platform/services.yaml 添加

Platform.sh提供了一些按需管理的服务,可以轻松添加到您的项目中。在此文件中设置了每个服务的版本、名称、资源以及附加配置。有关配置、版本和服务可用性的更多详细信息,请参阅服务文档

在此模板中,已配置了MariaDB和Redis。
.platform/routes.yaml 添加

此文件是部署在Platform.sh上所必需的,因为它定义了平台如何处理请求。在此文件中可以配置重定向和基本缓存。有关更多配置详细信息,请参阅路由文档

php.ini 添加

还添加了一个初始的php.ini文件。这些设置是性能测试和来自Blackfire.io的最佳实践建议的结果。它们将为生产应用程序初始化Drupal,并具有一系列良好的基线性能设置,并补充了许多在.blackfire.yml中指定的测试。
.blackfire.yml 添加

此文件已被添加,以帮助您开始在您的项目中使用Blackfire.io。有关如何开始的更多信息,请参阅下面的Blackfire部分
.lando.upstream.yml 添加

此文件配置 Lando 作为此模板的本地开发选项。有关配置的更多信息,请参阅 Platform.sh Lando 插件文档。有关如何开始,请参阅此 README 的 本地开发 部分。
.ddev/providers/platform.yaml 添加

此文件配置ddev作为此模板的本地开发选项。有关配置的更多信息,请参阅Platform.sh ddev集成文档。有关如何开始的更多信息,请参阅此README的本地开发部分。务必遵循ddev CLI和该文件注释部分中提供的说明,以正确配置ddev以用于您的项目。

依赖项和配置

有时,为了在Platform.sh上部署,有必要安装额外的依赖项并修改上游项目的配置。在这种情况下,我们将尽力将必要的修改量降到最低。运行以下命令以在模板中重现依赖项。

$ composer require platformsh/config-reader drush/drush:^10.6 drupal/console drupal/redis
$ composer config allow-plugins.composer/installers true --no-plugins
$ composer config allow-plugins.drupal/core-composer-scaffold true --no-plugins
$ composer config allow-plugins.drupal/core-project-message true --no-plugins
$ composer config allow-plugins.cweagans/composer-patches true --no-plugins 

部署到 Platform.sh

您的存储库现在已包含部署到Platform.sh所需的全部代码。

直接从命令行部署到 Platform.sh
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与此仓库的设置或您在本地更新默认分支的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 设置项目远程

    运行命令 platform project:list 查找您的 PROJECT_ID

    +---------------+------------------------------------+------------------+---------------------------------+
    | ID            | Title                              | Region           | Organization                    |
    +---------------+------------------------------------+------------------+---------------------------------+
    | PROJECT_ID    | Your Project Name                  | xx-5.platform.sh | your-username                   |
    +---------------+------------------------------------+------------------+---------------------------------+

    然后从您的本地副本中运行命令 platform project:set-remote PROJECT_ID

  4. 推送

    git push platform DEFAULT_BRANCH
与 GitHub 仓库集成并部署拉取请求
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与 https://YOUR_NAMESPACE/nextjs-drupal 上设置的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 设置集成

    请参阅GitHub 集成文档,完成将您的仓库连接到 Platform.sh 上的项目的操作。为此,您需要在 GitHub 上创建访问令牌。

与 GitLab 仓库集成并部署合并请求
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与此仓库的设置或您在本地更新默认分支的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 创建仓库

    在 GitLab 上创建一个新的仓库,将其设置为本地副本的新远程,并推送到默认分支。

  4. 设置集成

    请参阅GitLab 集成文档,完成将仓库连接到 Platform.sh 上的项目的操作。为此,您需要在 GitLab 上创建访问令牌。

与 Bitbucket 仓库集成并部署拉取请求
  1. 创建免费试用

    在 Platform.sh 上注册 30 天免费试用。完成注册后,选择 从头创建 项目选项。为您的项目命名,并选择您希望部署到的区域。至于 生产环境 选项,请确保将其与此仓库的设置或您在本地更新默认分支的设置匹配。

  2. 安装 Platform.sh CLI

    Linux/OSX

    curl -sS https://platform.sh/cli/installer | php

    Windows

    curl -f https://platform.sh/cli/installer -o cli-installer.php
    php cli-installer.php

    您可以通过登录 (platformsh login) 和列出您的项目 (platform project:list) 来验证安装。

  3. 创建仓库

    在 Bitbucket 上创建一个新的仓库,将其设置为本地副本的新远程,并推送到默认分支。

  4. 设置集成

    请参阅Bitbucket 集成文档,完成将仓库连接到 Platform.sh 上的项目的操作。为此,您需要在 Bitbucket 上创建访问令牌。

迁移您的数据

如果您正在将现有站点迁移到Platform.sh,那么除了代码外,您还需要迁移您的数据。这意味着您的数据库和文件。

导入数据库

首先,从您当前站点获取数据库转储,并将您的转储文件保存为database.sql。然后,使用CLI将数据库导入到您的Platform.sh站点。

platform sql -e main < database.sql
导入文件

您首先需要从当前的托管环境下载您的文件。最简单的方法可能是使用rsync,但请参考您旧主机的文档。

platform mount:upload 命令提供了一种简单的方法,可以将整个目录一次性上传到在 .platform.app.yaml 文件中定义的 mount。在底层,它使用SSH隧道和rsync,因此效率最高。(您还可以使用 platform mount:download 命令来稍后下载文件。)从您的本地Git仓库根目录运行以下命令(如需要,修改 --source 路径,并将 BRANCH_NAME 设置为您正在使用的分支)。

以下列出了几个示例,但请对您想要迁移的所有包含数据的目录重复执行。

$ platform mount:upload -e main --mount web/sites/default/files --source ./web/sites/default/files
$ platform mount:upload -e main --mount private --source ./private

请注意,rsync 对其尾随斜杠很挑剔,所以请确保包含它们。

下一步

现在,您的应用程序已部署在Platform.sh上,事情变得更加有趣。运行项目 platform environment:branch new-feature 命令,或从当前分支打开一个简单的拉取请求。

生成的环境是生产环境的精确副本。它包含与您配置文件中定义的相同的基础设施,甚至在其服务中包括从生产环境复制的数据。在这个隔离的环境中,您可以自由地对您的应用程序进行任何必要的更改,并真正测试它们在生产环境中的行为。

之后,以下是一些您在继续迁移到Platform.sh时可能会感兴趣的其他资源集合。

学习

故障排除

访问日志

环境部署完成后,您可以使用CLI调查启动过程中出现的问题,deploypost_deploy 钩子,以及通常在运行时使用CLI。运行以下命令

platform ssh

如果您在项目本地副本之外运行此命令,您还需要包含 -p(项目)和/或 -e(环境)标志。一旦连接到容器,您可以在 /var/log/ 中找到并调查 日志

重建缓存

您在最初在您的生产环境中安装Drupal后可能会遇到数据库错误。要修复,请SSH到应用程序容器(platform ssh)并使用Drush重建缓存

drush cache-rebuild
默认 hash_salt 行为

Drupal的默认设置将 hash_salt 设置为空字符串

$settings['hash_salt'] = '';

过去,Platform.sh模板已覆盖此值

$settings['hash_salt'] = $settings['hash_salt'] ?? $platformsh->projectEntropy;

此设置不足以覆盖一些用户配置 - 例如,当应用程序依赖于 hash_saltNull 值时。

现在,该设置在 settings.platformsh.php 中看起来像这样

$settings['hash_salt'] = empty($settings['hash_salt']) ? $platformsh->projectEntropy : $settings['hash_salt'];

此更改将 hash_salt 设置为内置环境变量 PLATFORM_PROJECT_ENTROPY 的值,如果项目包含默认设置或 Null。如果您的应用程序代码 依赖于 空值,请随意取消注释该行,或在稍后在该文件中重置它。

请访问 platformsh-templates/drupal9#73 了解有关此讨论的更多详细信息。

Drupal在Platform.sh上如何多站工作

Platform.sh上的多站点可能有些棘手。Drupal多站点的逻辑基于传入请求的域名。然而,由于每个环境都有一个唯一的域名,Platform.sh上的请求域名设计上具有高度的变异性。因此,此模板建立了一系列约定和自定义配置,以便多站点工作。

  • 每个子站点都是公共域名的子域名。请参阅routes.yaml。域名前缀是“子站点ID”。
  • 每个子站点都有自己的数据库和单个MariaDB服务实例上的端点。端点名称与子站点ID相同。
  • sites/sites.php文件包含代码,用于构建一个$sites查找列表,以将任何传入请求(无论分支如何)映射到以子站点ID命名的设置目录。它遍历指向Drupal应用程序的所有路由,并将这些路由解析为域名 -> 目录列表,其中目录是站点ID。如果您不使用基于子域名的多站点,您可能需要修改foreach()循环的主体。
  • .platform.app.yaml文件基本上与单站点Drupal安装相同,但其关系包括每个定义的MariaDB端点。关系也以子站点ID命名。
  • 每个子站点ID的settings.php文件是相同的,并且与标准的Platform.sh settings.php文件大致相似。如有需要,您可以对其进行自定义。特别是,应在安装过程完成后才将每个站点的$platformsh_enable_redis变量切换到true,因为Drupal无法在Redis模块激活的情况下安装。
  • settings.php文件还包括一个共享的sites/settings.platformsh.php文件。它与单站点配置中的文件大致相同,但已修改以利用子站点ID进行
    • 选择要使用的数据库关系
    • 在Redis中包含一个缓存前缀,以便每个站点都有其自己的有效缓存池。
    • 设置文件和私有文件目录,这些目录是顶级filesprivate目录的子站点ID前缀,而不是在每个站点目录下。
添加新的子站点

添加新的子站点需要以下步骤。对于这些步骤,假设我们正在添加一个名为stuff的子域名。

  1. routes.yaml添加一个带有新stuff域名前缀的新路由。复制并粘贴现有路由是可以的。
  2. sites/default目录复制到sites/stuff
  3. 编辑services.yaml并添加一个新的数据库和端点。复制并粘贴现有条目是可以的。新的关系必须命名为stuff
  4. 编辑.platform.app.yaml并添加一个新的关系:stuff: db:stuff。(其中db是从services.yaml中的数据库服务名称。)
  5. 提交上述更改并推送。
  6. 在您的浏览器中,转到stuff.example.com域名(或在开发环境中等效的域名)并按常规运行Drupal安装程序。或者,您可以使用下面描述的Drush。
  7. 再次编辑sites/stuff/settings.php文件,并通过将$platformsh_enable_redis设置为true来启用Redis。
  8. 提交并推送该更改。

或者,提供了一个PHP shell脚本来自动化步骤1-4。请参阅psh-subsite-add.php

在多站点中使用Drush

在Drupal多站点设置中,站点ID定义在web/sites/sites.php中。默认情况下,在此多站点模板中,在routes.yaml中定义了2个子站点:firstsecond

因此,可以通过使用--uri=在特定的子站点上使用任何Drush命令。例如

  • drush status --uri=first
  • drush status --uri=second

Blackfire.io:创建持续可观察策略

此模板包含一个启动的.blackfire.yml文件,可用于在您的项目中启用应用程序性能监控性能分析构建性能测试。Platform.sh在应用程序容器中预装了Blackfire,设置需要最少的配置。

资源

联系

此模板由Platform.sh 开发者关系团队维护,他们将会收到您在此处打开的所有问题和拉取请求的通知。

  • 社区:与社区分享您的问题,或者看看它是否已经在我们的社区网站上被提出。
  • Slack:如果您还没有这样做,您可以加入Platform.sh的公共Slack频道,并通过ping @devrel_team提出任何问题。

关于Platform.sh

此模板专门设计用于在Platform.sh上部署。

什么是Platform.sh?

Platform.sh是一个统一、安全、企业级的平台,用于构建、运行和扩展Web应用程序。我们在舰队操作方面是领导者:您可以从一开始就获得管理您的网站和应用程序所需的一切。由于从一开始就处理基础设施和工作流程,因此应用程序可以正常工作,这样团队就可以专注于真正重要的事情:加快变更速度、自信地协作和负责任地扩展。无论是管理十个还是一万个网站和应用程序,Platform.sh都是开发者首选的解决方案,可以无缝扩展。

我们的主要功能包括

  • GitOps:Git作为事实来源

    每个分支都成为开发环境,没有提交就无法更改。

  • 电池组包含:管理基础设施

    简单的YAML抽象用于提交和配置基础设施、完全管理的补丁更新和24 运行时 & 服务,只需一行代码即可添加。

  • 即时克隆:分支、合并、重复

    可重用的构建和自动继承的生产数据提供了真正的预发布环境 - 隔离实验,测试,然后销毁或合并。

  • FleetOps:舰队管理平台

    利用我们的公共API以及自定义工具如源操作活动脚本管理数千个应用程序 - 它们的依赖更新、新鲜内容和上游代码。

想了解更多信息,请查看下面的演示,并访问我们的网站


The Platform.sh demo

贡献

帮助我们保持高质量的模板!

我们的每个模板都是开源的,对于第一次部署到Platform.sh或更深入理解该平台的人来说,它们是重要的资源。它们既是入门指南,也包含了一些在使用特定语言和框架时非常有用的提示和最佳实践。

您是否发现这个模板有问题需要修复?文档中是否有什么不清楚或缺失的地方?请告诉我们!

如何贡献

报告一个错误       提交一个功能请求       发起一个拉取请求      


需要帮助?

询问Platform.sh社区       加入我们的Slack频道      


感谢所有我们杰出的贡献者!


68747470733a2f2f636f6e747269622e726f636b732f696d6167653f7265706f3d706c6174666f726d73682d74656d706c617465732f64727570616c382d6d756c746973697465

contrib.rocks制作