Cloud Run functions 函数在由操作系统版本、插件软件包、语言支持以及支持和调用函数的 PHP Functions 框架库组成的环境中运行。此环境由语言版本进行标识,称为运行时 ID。
函数准备
您可以直接在 Google Cloud 控制台中准备函数,也可以在本地机器上编写函数并上传该函数。如需为 PHP 开发准备本地环境,请参阅在 Google Cloud上使用 PHP。
支持的 PHP 运行时和基础映像
运行时 | 运行时 ID | 堆栈 | 运行时基础映像 |
---|---|---|---|
PHP 8.4 | php84 | google-22-full(默认) | google-22-full/php84 |
PHP 8.3 | php83 | google-22-full(默认) | google-22-full/php83 |
PHP 8.2 | php82 | google-22-full(默认) | google-22-full/php82 |
PHP 8.1 | php81 | google-18-full | google-18-full/php81 |
PHP 7.4 | php74 | google-18-full | google-18-full/php74 |
选择运行时
您可以在部署期间为函数选择一个受支持的 PHP 运行时。
您可以使用 Google Cloud 控制台或 gcloud CLI 选择运行时版本。点击相应标签页即可获得有关所选工具的使用说明:
gcloud
部署函数时,使用 --base-image
标志为函数指定 PHP 基础映像。例如:
gcloud run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image php84
您需要进行如下替换:
将 FUNCTION 替换为您要部署的函数的名称。您可以完全省略此参数,但如果省略它,系统将提示您输入名称。
将 FUNCTION_ENTRYPOINT 替换为源代码中函数的入口点。这是 Cloud Run 在您的函数运行时执行的代码。此标志的值必须是源代码中存在的函数名称或完全限定类名称。
如需详细了解如何使用 gcloud CLI 部署函数,请参阅在 Cloud Run 中部署函数。
控制台
您可以在 Google Cloud 控制台中创建或更新 Cloud Run 函数时选择运行时版本。如需详细了解如何部署函数,请参阅在 Cloud Run 中部署函数。
如需在创建函数时在 Google Cloud 控制台中选择运行时,请按照以下步骤操作:
在 Google Cloud 控制台中,前往 Cloud Run 页面:
点击编写函数。
在运行时列表中,选择一个 PHP 运行时版本。
点击创建,然后等待 Cloud Run 使用占位符修订版创建服务。
控制台会将您重定向到来源标签页,您可以在其中查看函数的源代码。点击保存并重新部署。
如需详细了解如何在部署函数后更新运行时版本,请参阅重新部署新的源代码。
源代码结构
为了让 Cloud Run functions 找到函数的定义,源代码必须遵循特定结构。如需了解详情,请参阅编写 Cloud Run functions 函数。
PHP 配置
您可以使用函数根目录中的 php.ini
文件配置 PHP 函数。您可以使用 phpinfo()
函数查看现有的 PHP 配置设置,如以下代码示例所示:
指定依赖项
PHP 使用 Composer 来管理依赖项。如需为函数指定依赖项,您可以将依赖项添加到名为 composer.json
的项目文件中。
Cloud Run functions PHP 运行时要求 Functions 框架成为显式依赖项。如需将 Functions 框架添加为依赖项,请在包含函数代码的目录中运行以下命令(此目录还必须包含 composer.json
文件):
composer require google/cloud-functions-framework
系统随即会将 Cloud Functions 框架添加到您的 composer.json
,并在 vendor/
目录中安装软件包。
autoload.php
文件
vendor/
目录中包含的其中一个文件是 autoload.php
。
将下面这行代码添加到 PHP 脚本的顶部即可要求使用 autoload.php
文件,该文件会自动require
函数的其他依赖项:
require_once __DIR__ . '/vendor/autoload.php';
默认情况下,生成的 .gcloudignore
文件中会忽略 vendor/
目录,以减少部署中发送的文件数。