注意:在未来的几个月内,我们将会重新整理 App Engine 文档网站,使得查找内容更轻松,并更好地与其他 Google Cloud 产品保持一致。将会提供相同的内容,但导航现在将与其余的 Cloud 产品相一致。

使用 PHP 库

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。

您可以在标准 composer.json 文件中声明 PHP 依赖项。例如:

{
    "require": {
        "google/cloud": "^0.72"
    }
}

您可以在 App Engine 中使用任何与 Linux 兼容的 PHP 软件包。在启动应用之前,运行时会在应用的源代码目录中查找 composer.json 文件,并使用 composer 安装所有依赖项。

如需了解此运行时支持的 PHP 版本,请参阅 PHP 运行时

在本地安装和运行

使用 Composer 在本地安装依赖项。

composer install

如需将依赖项固定到其当前版本,请将 composer.lock 文件提交到您的应用。

您可以使用自己偏好的 Web 服务器测试应用。 App Engine 柔性环境在生产中使用 NGINX。如需快速运行应用,您可以使用 PHP 的内置 Web 服务器

安装 Web 框架

默认情况下,NGINX 配置为通过 index.php 处理所有请求。框架不是必需的,但建议使用。您可以在 App Engine 柔性环境中使用任何网络框架,包括以下各项:

如需使用特定的 Web 框架,只需将其添加到 composer.json

{
    "require": {
        "symfony/symfony": " ^3.0"
    }
}

安装 Google Cloud 客户端库

PHP 版 Google Cloud 客户端库是一个用于访问 Google Cloud 服务的客户端库,可减少您必须编写的样板代码量。该库提供易于理解的高级 API 抽象。它接受 PHP 的习语,与标准库良好适配,并且与您的代码库更紧密地集成。所有这些特点意味着您可以有更多的时间创建对您来说真正重要的代码。

要在本地安装库,请运行以下命令:

composer require google/cloud

借助 Google Cloud CLI,您可以在本地处理身份验证。如果您希望本地应用临时使用您自己的用户凭据进行 API 访问,请运行:

gcloud auth application-default login

如需手动处理身份验证或了解详情,请参阅向应用提供凭据部分。

使用私有代码库

如需在私有代码库中使用库,您必须完成以下任务:

  • 配置代码库。
  • composer 提供访问私有代码库的密钥。

以下示例说明了如何访问 GitHub 中的私有代码库。

  1. 使用 vcs 类型在 composer.json 中配置代码库:

    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/username/private_package"
        }
    ]
    
  2. 在项目根目录中创建名为 auth.json 的文件:

    {
        "github-oauth": {
            "github.com": "<your-github-auth-token>"
        }
    }
    

您可以从 GitHub 的管理界面获取 GitHub 身份验证令牌。

以下示例说明了如何访问 Bitbucket 中的私有代码库。

  1. 使用 vcs 类型在 composer.json 中配置代码库:

    "repositories": [
        {
            "type": "vcs",
            "url":  "https://bitbucket.org/username/private_git"
        }
    ]
    
  2. 在项目根目录中创建名为 auth.json 的文件:

    {
        "bitbucket-oauth": {
            "bitbucket.org": {
                "consumer-key": "<your-oauth-consumer-key>",
                "consumer-secret": "<your-oauth-consumer-secret>"
            }
        }
    }