选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

的 PHP 教程 AWS Cloud9

聚焦模式
的 PHP 教程 AWS Cloud9 - AWS Cloud9

AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS Cloud9 不再向新客户提供。 AWS Cloud9 的现有客户可以继续正常使用该服务。了解更多

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

本教程使你能够在 AWS Cloud9 开发环境中运行一些 PHP 脚本。

按照本教程操作并创建此示例可能会对您的 AWS 账户收费。其中包括亚马逊 EC2 和Amazon S3等服务可能产生的费用。有关更多信息,请参阅 Amazon EC2 定价和 A mazon S3 定价

先决条件

在使用此示例之前,请确保您的设置满足以下要求:

  • 您必须拥有现有的 AWS Cloud9 EC2 开发环境。此示例假设您的 EC2 环境已连接到运行 Amazon Linux 的亚马逊 EC2 实例,或者 Ubuntu 服务器。如果您有不同类型的环境或操作系统,可能需要按照本示例的说明来设置相关的工具。有关更多信息,请参阅 在中创建环境 AWS Cloud9

  • 您已经打开了现有环境的 AWS Cloud9 IDE。打开环境时,会在 Web 浏览器中 AWS Cloud9 打开该环境的 IDE。有关更多信息,请参阅 在中打开环境 AWS Cloud9

步骤 1:安装所需工具

在此步骤中,您将安装运行此示例需要的 PHP。

注意

以下过程仅安装 PHP。要安装相关工具,例如 Apache 网络服务器和 MySQL 数据库,请参阅亚马逊 EC2 用户指南中的教程:在亚马逊 Linux 上安装 LAM P Web 服务器

  1. 在 AWS Cloud9 IDE 的终端会话中,通过运行php --version命令来确认 PHP 是否已安装。(要开始新的终端会话,请在菜单栏上依次选择 Window(窗口)> New Terminal(新建终端)。) 如果成功,输出将包含 PHP 版本号。如果已安装 PHP,请向前跳至 步骤 2:添加代码

  2. 运行 yum update(适用于 Amazon Linux)或 apt update(适用于 Ubuntu Server)命令,以帮助确保已安装最新的安全更新和错误修复。

    对于 Amazon Linux 2 和 Amazon Linux:

    sudo yum -y update

    对于 Ubuntu Server:

    sudo apt update
  3. 通过运行 install 命令安装 PHP。

    对于 Amazon Linux 2:

    sudo amazon-linux-extras install -y php7.2

    对于 Amazon Linux:

    sudo yum -y install php72
    注意

    您可以使用以下命令查看 Amazon Linux 的版本:

    cat /etc/system-release

    对于 Ubuntu Server:

    sudo apt install -y php php-xml

    有关更多信息,请参阅 PHP 网站上的安装和配置

步骤 2:添加代码

在 AWS Cloud9 IDE 中,使用此内容创建一个文件,然后使用该名称保存该文件hello.php。(要创建文件,请在菜单栏上依次选择 File(文件)New File(新建文件)。要保存文件,请依次选择 File(文件)Save(保存),并为 Filename(文件名)键入 hello.php、然后选择 Save(保存)。)

<?php print('Hello, World!'); print("\nThe sum of 2 and 3 is 5."); $sum = (int)$argv[1] + (int)$argv[2]; print("\nThe sum of $argv[1] and $argv[2] is $sum."); ?>
注意

上述代码不依赖于任何外部文件。但是,如果您曾经在文件中包含或要求使用其他 PHP 文件,并且想要 AWS Cloud9 在键入时使用这些文件完成代码,请打开 “首选项” 中的 “项目”、“PHP 支持”、“启用 PHP 代码完成” 设置,然后将这些文件的路径添加到 “项目”、“PHP 支持”、“PHP 完成包含路径” 设置中。(要查看和更改您的首选项,请在菜单栏上选择 AWS Cloud9、Preferences (首选项)。)

步骤 3:运行代码

  1. 在 AWS Cloud9 IDE 的菜单栏上,选择 “运行”、“运行配置”、“新建运行配置”。

  2. [New] - Idle ([新建] - 空闲) 选项卡上,选择 Runner: Auto (运行程序:自动),然后选择 PHP (cli)

  3. Command(命令)中,键入 hello.php 5 9。在代码中,5 表示 $argv[1]9 表示 $argv[2]。($argv[0] 表示文件 (hello.php) 的名称。)

  4. 选择 Run (运行) 按钮,然后比较输出。

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
在 AWS Cloud9 IDE 中运行 PHP 代码的输出

步骤 4:安装和配置 适用于 PHP 的 AWS SDK

您可以增强此示例,使用创建 Amazon S3 存储桶,列出您的可用存储桶,然后删除您刚刚创建的存储桶。 适用于 PHP 的 AWS SDK

在此步骤中,您将安装和配置 适用于 PHP 的 AWS SDK,它提供了一种通过您的 PHP 代码与 Amazon S3 等 AWS 服务进行交互的便捷方式。在安装之前 适用于 PHP 的 AWS SDK,您应该先安装 C omposer。安装后 适用于 PHP 的 AWS SDK,您必须在您的环境中设置凭据管理。 适用于 PHP 的 AWS SDK 需要这些凭据才能与 AWS 服务进行交互。

安装 Composer

使用静默 () 和显示错误 (curl) 选项运行 -s -S命令,将 Composer 安装程序传送到 PHP 档案 (PHAR) 文件,按约定名为 composer.phar

curl -sS https://getcomposer.org/installer | php

要安装 适用于 PHP 的 AWS SDK

对于 Ubuntu Server,请安装 Composer 安装 适用于 PHP 的 AWS SDK所需的其他软件包。

sudo apt install -y php-xml php-curl

对于 Amazon Linux 或 Ubuntu Server,请使用 php 命令运行 Composer 安装程序以安装 适用于 PHP 的 AWS SDK。

php composer.phar require aws/aws-sdk-php

此命令在环境中创建多个文件夹和文件。您将使用的主要文件为 autoload.php,位于环境中的 vendor 文件夹中。

注意

安装后,Composer 可能会建议您安装其他依赖项。您可以使用如下命令执行此操作,指定要安装的依赖项列表。例如,以下命令会指示 Composer 安装以下依赖项列表。

php composer.phar require psr/log ext-curl doctrine/cache aws/aws-php-sns-message-validator

有关更多信息,请参阅 适用于 PHP 的 AWS SDK 开发人员指南中的安装

在环境中设置凭证管理

每次使用调 适用于 PHP 的 AWS SDK 用 AWS 服务时,都必须为呼叫提供一组凭据。这些证书决定了是否 适用于 PHP 的 AWS SDK 具有进行该呼叫的相应权限。如果凭证没有包括合适的权限,调用将失败。

在此步骤中,您将凭证存储在环境内。为此,请按照 AWS 服务 从中的环境中呼叫 AWS Cloud9 中的说明操作,然后返回到本主题。

有关更多信息,请参阅 适用于 PHP 的 AWS SDK 开发人员指南中的基本用法的“创建客户端”部分。

第 5 步:添加 AWS SDK 代码

在此步骤中,您会添加一些代码,此次用于与 Amazon S3 交互来创建存储桶,列出可用的存储桶,然后删除刚刚创建的存储桶。您将稍后运行此代码。

在 AWS Cloud9 IDE 中,使用此内容创建一个文件,然后使用该名称保存该文件s3.php

<?php require './vendor/autoload.php'; if ($argc < 4) { exit("Usage: php s3.php <the time zone> <the bucket name> <the AWS Region to use>\n" . "Example: php s3.php America/Los_Angeles my-test-bucket us-east-2"); } $timeZone = $argv[1]; $bucketName = $argv[2]; $region = $argv[3]; date_default_timezone_set($timeZone); $s3 = new Aws\S3\S3Client([ 'region' => $region, 'version' => '2006-03-01' ]); # Lists all of your available buckets in this AWS Region. function listMyBuckets($s3) { print("\nMy buckets now are:\n"); $promise = $s3->listBucketsAsync(); $result = $promise->wait(); foreach ($result['Buckets'] as $bucket) { print("\n"); print($bucket['Name']); } } listMyBuckets($s3); # Create a new bucket. print("\n\nCreating a new bucket named '$bucketName'...\n"); try { $promise = $s3->createBucketAsync([ 'Bucket' => $bucketName, 'CreateBucketConfiguration' => [ 'LocationConstraint' => $region ] ]); $promise->wait(); } catch (Exception $e) { if ($e->getCode() == 'BucketAlreadyExists') { exit("\nCannot create the bucket. " . "A bucket with the name '$bucketName' already exists. Exiting."); } } listMyBuckets($s3); # Delete the bucket you just created. print("\n\nDeleting the bucket named '$bucketName'...\n"); $promise = $s3->deleteBucketAsync([ 'Bucket' => $bucketName ]); $promise->wait(); listMyBuckets($s3); ?>

第 6 步:运行 S AWS DK 代码

  1. 在 AWS Cloud9 IDE 的菜单栏上,选择 “运行”、“运行配置”、“新建运行配置”。

  2. [New] - Idle ([新建] - 空闲) 选项卡上,选择 Runner: Auto (运行程序:自动),然后选择 PHP (cli)

  3. Command (命令) 中,键入 s3.php America/Los_Angeles my-test-bucket us-east-2,其中:

    • America/Los_Angeles 是默认时区 ID。有关更多信息 IDs,请参阅 PHP 网站上的支持时区列表

    • my-test-bucket 是您要创建,然后删除的存储桶的名称。

      注意

      Amazon S3 存储桶名称必须是唯一的,而 AWS不仅仅是您的 AWS 账户。

    • us-east-2是您要在其中创建存储桶的 AWS 区域的 ID。欲了解更多信息 IDs,请参阅中的亚马逊简单存储服务 (Amazon S3) S ervice。Amazon Web Services 一般参考

  4. 选择 Run (运行) 按钮,然后比较输出。

    My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:

步骤 7:清除

为了防止在您使用完此示例后继续向您的 AWS 账户收费,您应该删除该环境。有关说明,请参阅 删除中的环境 AWS Cloud9

针对 AWS Cloud9的 PHP 运行程序问题的故障排除

如果您遇到 PHP CLI 运行程序的问题,则必须确保已将运行程序设置为 PHP,并确保启用调试器模式。

下一主题:

Ruby

上一主题:

Node.js 教程
隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。