

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# QuickStart：將 PHP 應用程式部署至 Elastic Beanstalk
<a name="php-quickstart"></a>

在以下教學課程中，您將了解如何使用 EB CLI 建立範例 PHP 應用程式並將其部署到 AWS Elastic Beanstalk 環境。

**不適用於生產用途**  
範例僅用於示範。請勿在生產環境中使用範例應用程式。

**Topics**
+ [AWS 您的帳戶](#php-quickstart-aws-account)
+ [先決條件](#php-quickstart-prereq)
+ [步驟 1：建立 PHP 應用程式](#php-quickstart-create-app)
+ [步驟 2：在本機執行應用程式](#php-quickstart-run-local)
+ [步驟 3：初始化和部署您的 PHP 應用程式](#php-quickstart-deploy)
+ [步驟 4：瀏覽您的雲端應用程式](#php-quickstart-run-eb-ap)
+ [步驟 5：更新並重新部署您的應用程式](#php-quickstart-run-eb-ap)
+ [清除](#php-quickstart-cleanup)
+ [後續步驟](#php-quickstart-next-steps)

## AWS 您的帳戶
<a name="php-quickstart-aws-account"></a>

如果您還不是 AWS 客戶，則需要建立 AWS 帳戶才能使用 Elastic Beanstalk。

### 建立 AWS 帳戶
<a name="php-quickstart-aws-account-procedure"></a>

#### 註冊 AWS 帳戶
<a name="sign-up-for-aws"></a>

如果您沒有 AWS 帳戶，請完成下列步驟來建立一個。

**註冊 AWS 帳戶**

1. 開啟 [https://portal.aws.amazon.com/billing/signup](https://portal.aws.amazon.com/billing/signup)。

1. 請遵循線上指示進行。

   部分註冊程序需接收來電或簡訊，並在電話鍵盤輸入驗證碼。

   當您註冊 時 AWS 帳戶，*AWS 帳戶根使用者*會建立 。根使用者有權存取該帳戶中的所有 AWS 服務 和資源。作為安全最佳實務，請將管理存取權指派給使用者，並且僅使用根使用者來執行[需要根使用者存取權的任務](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 會在註冊程序完成後傳送確認電子郵件給您。您可以隨時登錄 [https://aws.amazon.com/](https://aws.amazon.com/) 並選擇**我的帳戶**，以檢視您目前的帳戶活動並管理帳戶。

#### 建立具有管理存取權的使用者
<a name="create-an-admin"></a>

註冊 後 AWS 帳戶，請保護 AWS 帳戶根使用者、啟用 AWS IAM Identity Center和建立 管理使用者，以免將根使用者用於日常任務。

**保護您的 AWS 帳戶根使用者**

1.  選擇**根使用者**並輸入 AWS 帳戶 您的電子郵件地址，以帳戶擁有者[AWS 管理主控台](https://console.aws.amazon.com/)身分登入 。在下一頁中，輸入您的密碼。

   如需使用根使用者登入的說明，請參閱 *AWS 登入 使用者指南*中的[以根使用者身分登入](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 若要在您的根使用者帳戶上啟用多重要素驗證 (MFA)。

   如需說明，請參閱《*IAM 使用者指南*》中的[為您的 AWS 帳戶 根使用者 （主控台） 啟用虛擬 MFA 裝置](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**建立具有管理存取權的使用者**

1. 啟用 IAM Identity Center。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[啟用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，將管理存取權授予使用者。

   如需使用 IAM Identity Center 目錄 做為身分來源的教學課程，請參閱*AWS IAM Identity Center 《 使用者指南*》中的[使用預設值設定使用者存取 IAM Identity Center 目錄](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理存取權的使用者身分登入**
+ 若要使用您的 IAM Identity Center 使用者簽署，請使用建立 IAM Identity Center 使用者時傳送至您電子郵件地址的簽署 URL。

  如需使用 IAM Identity Center 使用者登入的說明，請參閱*AWS 登入 《 使用者指南*》中的[登入 AWS 存取入口網站](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**指派存取權給其他使用者**

1. 在 IAM Identity Center 中，建立一個許可集來遵循套用最低權限的最佳實務。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[建立許可集](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 將使用者指派至群組，然後對該群組指派單一登入存取權。

   如需指示，請參閱《AWS IAM Identity Center 使用者指南》**中的[新增群組](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## 先決條件
<a name="php-quickstart-prereq"></a>
+ Elastic Beanstalk 命令列界面 - 如需安裝，請參閱[使用設定指令碼安裝 EB CLI （建議）](eb-cli3.md#eb-cli3-install)。
+ PHP - 遵循 PHP 網站上的安裝[和組態](https://www.php.net/manual/en/install.php)說明，在本機電腦上安裝 PHP。

## 步驟 1：建立 PHP 應用程式
<a name="php-quickstart-create-app"></a>

在此快速入門中，您將建立 *Hello World* PHP 應用程式。

建立專案目錄。

```
~$ mkdir eb-php
~$ cd eb-php
```

接著，在專案目錄中建立 `index.php` 檔案，並新增下列程式碼。

**Example `index.php`**  

```
<?php
  echo "Hello from a PHP application running in Elastic Beanstalk!";
?>
```

## 步驟 2：在本機執行應用程式
<a name="php-quickstart-run-local"></a>

使用下列命令在本機執行您的應用程式。

```
~$ php -S localhost:5000
```

開啟瀏覽器至 [http://localhost:5000](http://localhost:5000)。

您應該會在瀏覽器中看到 hello 訊息，並在終端機中記錄訊息。

輸入 來停止本機伺服器`Control+c`，讓您可以部署 Elastic Beanstalk。

## 步驟 3：初始化和部署您的 PHP 應用程式
<a name="php-quickstart-deploy"></a>

接著，您將使用 Elastic Beanstalk 主控台或 EB CLI 將應用程式部署至*環境*。在本教學課程中，您將使用 EB CLI 搭配互動式選項來初始化環境。

**初始化您的環境並建立環境**

1. 執行下列 **init** 命令。

   ```
   ~$ eb init -i
   ```

   init 命令會以互動方式建立應用程式。應用程式名稱預設為本機資料夾，即 `eb-php`。

   對於除 SSH 存取之外的所有提示，接受預設值以使用最新的 PHP 平台版本建立環境。若要對執行個體進行疑難排解，您可以稍後重新執行`eb init -i`命令來設定 SSH 存取，或使用 Amazon EC2 Instance Connect 或 Session Manager 進行連線。

1. 建立環境並部署您的應用程式

   執行下列命令來建立名為 的環境`blue-env`。

   ```
   ~$ eb create blue-env
   ```

   當您第一次執行 **eb create**命令時，Elastic Beanstalk 會自動建置應用程式的 zip 檔案，稱為*原始碼套件*。接著，Elastic Beanstalk 會建立具有一或多個 Amazon EC2 執行個體的環境，然後將應用程式部署到環境中。

   將您的應用程式部署到 Elastic Beanstalk 最多可能需要五分鐘。

## 步驟 4：瀏覽您的雲端應用程式
<a name="php-quickstart-run-eb-ap"></a>

當建立環境的程序完成時，您的應用程式應該正在執行並接聽連接埠 5000 上的請求。使用下列命令連線至您的應用程式：

```
~$ eb open
```

`eb open` 命令會開啟瀏覽器索引標籤，以存取為您的應用程式建立的自訂子網域。

## 步驟 5：更新並重新部署您的應用程式
<a name="php-quickstart-run-eb-ap"></a>

建立應用程式並部署到環境之後，您可以隨時部署新版本的應用程式或不同的應用程式。部署新的應用程式版本更快，因為它不需要佈建或重新啟動 Amazon EC2 執行個體。

更新您的 PHP 程式碼，以包含伺服器環境中的 REQUEST\$1TIME 值：

```
<?php
  echo "Hello from a PHP application running in Elastic Beanstalk!";
  
  $timestamp = $_SERVER['REQUEST_TIME'];
  echo '<br/>Request time: ' . date('Y/m/d H:i:s', $timestamp);
?>
```

使用以下命令將您的 PHP 程式碼重新部署到 Elastic Beanstalk：

```
~$ eb deploy
```

執行 **eb deploy** 時，EB CLI 會封裝您專案目錄的內容，並將其部署至您的環境。

部署完成後，請重新整理頁面或使用 重新連線至您的應用程式`eb open`。您應該會看到您的更新。如果沒有，請再次執行本機伺服器以驗證您的變更進行故障診斷。

****恭喜您！****  
您已使用 Elastic Beanstalk 建立、部署和更新 PHP 應用程式！

## 清除
<a name="php-quickstart-cleanup"></a>

完成使用示範程式碼後，您可以終止您的環境。Elastic Beanstalk 會刪除所有相關 AWS 資源，例如 [Amazon EC2 執行個體](using-features.managing.ec2.md)、[資料庫執行個體](using-features.managing.db.md)、[負載平衡器](using-features.managing.elb.md)、安全群組和[警示](using-features.alarms.md#using-features.alarms.title)。

移除資源不會刪除 Elastic Beanstalk 應用程式，因此您可以隨時為您的應用程式建立新環境。

**從主控台終止 Elastic Beanstalk 環境**

1. 開啟 [Elastic Beanstalk 主控台](https://console.aws.amazon.com/elasticbeanstalk)，然後在**區域**清單中選取您的 AWS 區域。

1. 在導覽窗格中，選擇**環境**，然後在清單中選擇您環境的名稱。

1. 選擇 **Actions** (動作)，然後選擇 **Terminate Environment** (終止環境)。

1. 使用畫面顯示對話方塊來確認環境終止。

或者，您可以使用下列命令，透過 EB CLI 終止您的環境：

```
~$ eb terminate
```

## 後續步驟
<a name="php-quickstart-next-steps"></a>

您可以使用 Elastic Beanstalk 主控台探索應用程式環境。如需詳細資訊，請參閱[探索您的環境](GettingStarted.md#GettingStarted.Explore)。

如需使用 PHP 的進階範例，請參閱 [Elastic Beanstalk 中 PHP 的進階範例](php-samples.md)。