

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

# 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 帳戶。如需建立 的相關資訊 AWS 帳戶，請參閱《 *AWS 帳戶管理 參考指南*》中的 [入門 AWS 帳戶](https://docs.aws.amazon.com/accounts/latest/reference/getting-started.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\_TIME 值：

```
<?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)。