PHP 运行时

Cloud Run 函数在由操作系统版本、插件软件包、语言支持以及支持和调用函数的 PHP Functions 框架库组成的环境中运行。此环境由语言版本进行标识,称为运行时 ID。

函数准备

您可以直接在 Google Cloud 控制台中准备函数,也可以在本地机器上编写函数并上传该函数。如需准备本地机器以用于 PHP 开发,请参阅在 Google Cloud 上使用 PHP。

选择运行时

Cloud Run functions 支持支持的语言运行时和基础映像中列出的多个 PHP 版本。您可以在部署期间为您的函数选择首选 PHP 运行时。

gcloud

如需使用 Cloud Run 函数通过 gcloud CLI 部署 HTTP 函数,请参阅使用 Google Cloud CLI 进行部署

控制台

如果您使用的是 Google Cloud 控制台,请在创建和部署函数时选择运行时。如需详细说明,请参阅 Google Cloud 控制台快速入门

源代码结构

为了让 Cloud Run functions 找到函数的定义,源代码必须遵循特定结构。如需了解详情,请参阅编写 Cloud Run 函数

PHP 配置

您可以使用函数根目录中的 php.ini 文件配置 PHP 函数。您可以使用 phpinfo() 函数查看现有的 PHP 配置设置,如以下代码示例所示:


use Psr\Http\Message\ServerRequestInterface;

function phpInfoDemo(ServerRequestInterface $request): string
{
    // phpinfo() displays its output directly in the function's
    // HTTP response, so we don't need to explicitly return it
    //
    // Note: we recommend deleting the deployed Cloud Function once you no
    // longer need it, as phpinfo() may broadcast potential security issues.
    phpinfo();
    return '';
}

指定依赖项

PHP 使用 Composer 来管理依赖项。如需为函数指定依赖项,您可以将依赖项添加到名为 composer.json 的项目文件中。

Cloud Run functions PHP 运行时要求 Cloud Functions 框架成为显式依赖项。如需将 Cloud 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/ 目录,以减少部署中发送的文件数。