指定 PHP 依赖项

您可以使用 Composer 管理 PHP 依赖项。

安装 Composer

如果您尚未安装 Composer,则可以按照以下步骤操作:

  1. 下载 Composer 至任何目标位置。

  2. 下载完成后,将 composer.phar 文件移动到系统路径中的目录,例如:

    mv composer.phar /usr/local/bin/composer
    

创建 composer.json 文件

composer.json 文件列出函数的依赖项。您可以手动创建,也可以运行以下命令:

composer init

运行此命令时,它会以交互方式要求您填写字段,同时提供一些智能默认值。

声明依赖项

如需声明依赖项,请将包含依赖项的 composer.json 文件添加到您的函数代码目录中。在本例中,我们需要 Cloud Functions 框架并添加 start 脚本:

{
    "require": {
        "php": ">= 8.1",
        "google/cloud-functions-framework": "^1.1"
    },
    "scripts": {
        "start": [
           "Composer\\Config::disableProcessTimeout",
           "FUNCTION_TARGET=helloHttp php -S localhost:${PORT:-8080} vendor/google/cloud-functions-framework/router.php"
        ]
    }
}

请注意,当 Composer 能够使用缓存结果时,composer.json 文件中定义的脚本不会运行。

将 Cloud Functions 框架添加为依赖项

Cloud Run functions PHP 运行时要求 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/ 目录,以减少部署中发送的文件数。

更新依赖项

如需更新函数的依赖项和 composer.lock 文件,请使用 update 命令

composer update

系统随即将解析项目的所有依赖项,并将其确切的版本写入 composer.lock