

 AWS Cloud9 tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS Cloud9 dapat terus menggunakan layanan seperti biasa. [Pelajari selengkapnya](https://aws.amazon.com/blogs/devops/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/)

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# PHP tutorial untuk AWS Cloud9
<a name="sample-php"></a>

Tutorial ini memungkinkan Anda untuk menjalankan beberapa skrip PHP di lingkungan AWS Cloud9 pengembangan.

Mengikuti tutorial ini dan membuat sampel ini dapat mengakibatkan biaya ke AWS akun Anda. Ini termasuk kemungkinan biaya untuk layanan seperti Amazon EC2 dan Amazon S3. Untuk informasi selengkapnya, lihat [Harga Amazon EC2](https://aws.amazon.com/ec2/pricing/) dan [Harga Amazon S3](https://aws.amazon.com/s3/pricing/).

**Topics**
+ [Prasyarat](#sample-php-prereqs)
+ [Langkah 1: Pasang alat yang diperlukan](#sample-php-install)
+ [Langkah 2: Menambahkan kode](#sample-php-code)
+ [Langkah 3: Jalankan kode](#sample-php-run)
+ [Langkah 4: Instal dan konfigurasikan AWS SDK untuk PHP](#sample-php-sdk)
+ [Langkah 5: Tambahkan kode AWS SDK](#sample-php-sdk-code)
+ [Langkah 6: Jalankan kode AWS SDK](#sample-php-sdk-run)
+ [Langkah 7: Bersihkan](#sample-php-clean-up)

## Prasyarat
<a name="sample-php-prereqs"></a>

Sebelum Anda menggunakan sampel ini, pastikan pengaturan Anda memenuhi persyaratan berikut:
+ **Anda harus memiliki lingkungan pengembangan AWS Cloud9 EC2 yang ada.** Contoh ini mengasumsikan bahwa Anda sudah memiliki lingkungan EC2 yang terhubung ke instans Amazon EC2 yang menjalankan Amazon Linux atau Server. Ubuntu Jika Anda memiliki jenis lingkungan atau sistem operasi yang berbeda, Anda mungkin perlu menyesuaikan petunjuk sampel ini untuk menyiapkan alat terkait. Untuk informasi selengkapnya, lihat [Menciptakan lingkungan di AWS Cloud9](create-environment.md).
+ **Anda memiliki AWS Cloud9 IDE untuk lingkungan yang ada sudah terbuka.** Saat Anda membuka lingkungan, AWS Cloud9 buka IDE untuk lingkungan itu di browser web Anda. Untuk informasi selengkapnya, lihat [Membuka lingkungan di AWS Cloud9](open-environment.md).

## Langkah 1: Pasang alat yang diperlukan
<a name="sample-php-install"></a>

Pada langkah ini, Anda memasang PHP, yang diperlukan untuk menjalankan sampel ini.

**catatan**  
Prosedur berikut hanya memasang PHP. Untuk menginstal alat terkait seperti server web Apache dan database MySQL, [lihat Tutorial: Menginstal Server Web LAMP di Amazon Linux di Panduan Pengguna Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html) *EC2*.

1. Dalam sesi terminal di AWS Cloud9 IDE, konfirmasikan apakah PHP sudah diinstal dengan menjalankan **`php --version`**perintah. (Untuk memulai sesi terminal baru, pada bilah menu, pilih **Jendela**, **Terminal Baru**.) Jika berhasil, output berisi nomor versi PHP. Jika PHP sudah terpasang, lewati ke [Langkah 2: Menambahkan kode](#sample-php-code).

1. Jalankan perintah ** `yum update` ** untuk (Amazon Linux) atau ** `apt update` ** untuk (Ubuntu Server) untuk membantu memastikan pembaruan keamanan terbaru dan perbaikan bug terpasang.

   Untuk Amazon Linux 2 dan Amazon Linux:

   ```
   sudo yum -y update
   ```

   Untuk Ubuntu Server:

   ```
   sudo apt update
   ```

1. Pasang PHP dengan menjalankan perintah ** `install` **.

   Untuk Amazon Linux 2:

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

   Untuk Amazon Linux:

   ```
   sudo yum -y install php72
   ```
**catatan**  
Anda dapat melihat versi Amazon Linux Anda menggunakan perintah berikut:   

   ```
   cat /etc/system-release
   ```

   Untuk Ubuntu Server:

   ```
   sudo apt install -y php php-xml
   ```

   Untuk informasi selengkapnya, lihat [Pemasangan dan Konfigurasi](http://php.net/manual/en/install.php) di situs web PHP.

## Langkah 2: Menambahkan kode
<a name="sample-php-code"></a>

Di AWS Cloud9 IDE, buat file dengan konten ini, dan simpan file dengan namanya`hello.php`. (Untuk membuat file, pada bilah menu, pilih **File**, **File Baru**. Untuk menyimpan file, pilih **File**, **Simpan**, ketik `hello.php` untuk **Filename**, lalu pilih **Simpan**.)

```
<?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.");
?>
```

**catatan**  
Kode sebelumnya tidak bergantung pada file eksternal apa pun. Namun, jika Anda pernah menyertakan atau memerlukan file PHP lain dalam file Anda, dan Anda ingin menggunakan file-file tersebut AWS Cloud9 untuk melakukan penyelesaian kode saat Anda mengetik, **aktifkan Project, PHP Support, Enable PHP code completion** setting di **Preferences**, dan kemudian tambahkan path ke file-file tersebut ke pengaturan **Project, PHP Support, PHP Completion Include Paths**. (Untuk melihat dan mengubah preferensi Anda, pilih **AWS Cloud9, Preferensi** pada bilah menu.)

## Langkah 3: Jalankan kode
<a name="sample-php-run"></a>

1. Di AWS Cloud9 IDE, pada bilah menu, pilih **Jalankan, Jalankan** **Konfigurasi**, **Konfigurasi Jalankan Baru**.

1. Di tab **[Baru] - Diam**, pilih **Runner: Otomatis**, lalu pilih **PHP.(cli)**.

1. Untuk **Perintah**, ketik `hello.php 5 9`. Dalam kode, `5` mewakili `$argv[1]`, dan `9` mewakili `$argv[2]`. (`$argv[0]`mewakili nama file (`hello.php`).)

1. Pilih tombol **Jalankan**, dan bandingkan output Anda.

   ```
   Hello, World!
   The sum of 2 and 3 is 5.
   The sum of 5 and 9 is 14.
   ```

![\[Output dari menjalankan kode PHP di AWS Cloud9 IDE\]](http://docs.aws.amazon.com/id_id/cloud9/latest/user-guide/images/ide-php-simple.png)


## Langkah 4: Instal dan konfigurasikan AWS SDK untuk PHP
<a name="sample-php-sdk"></a>

Anda dapat menyempurnakan sampel ini AWS SDK untuk PHP untuk menggunakan bucket Amazon S3, mencantumkan bucket yang tersedia, lalu menghapus bucket yang baru saja Anda buat.

Pada langkah ini, Anda menginstal dan mengonfigurasi AWS SDK untuk PHP, yang menyediakan cara mudah untuk berinteraksi dengan AWS layanan seperti Amazon S3, dari kode PHP Anda. Sebelum Anda dapat menginstal AWS SDK untuk PHP, Anda harus menginstal [Composer](https://getcomposer.org/). Setelah Anda menginstal AWS SDK untuk PHP, Anda harus mengatur manajemen kredensional di lingkungan Anda. AWS SDK untuk PHP Kebutuhan kredensil ini untuk berinteraksi dengan AWS layanan.

### Untuk memasang Composer
<a name="sample-php-sdk-install-composer"></a>

Jalankan perintah ** `curl` ** dengan opsi diam (`-s`) dan tunjukkan error (`-S`), merampingkan pemasangan Composer ke dalam file arsip PHP (PHAR), dengan nama `composer.phar` menurut konvensi.

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

### Untuk menginstal AWS SDK untuk PHP
<a name="sample-php-sdk-install-sdk"></a>

Untuk Ubuntu Server, pasang paket tambahan yang dibutuhkan Composer untuk memasang AWS SDK untuk PHP.

```
sudo apt install -y php-xml php-curl
```

Untuk Amazon Linux atau Ubuntu Server, gunakan perintah **php** untuk menjalankan pemasang Composer untuk memasang AWS SDK untuk PHP.

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

Perintah ini membuat beberapa folder dan file di lingkungan Anda. File utama yang akan Anda gunakan adalah `autoload.php`, yang ada di folder `vendor` di lingkungan Anda.

**catatan**  
Setelah pemasangan, Composer mungkin menyarankan Anda memasang dependensi tambahan. Anda dapat melakukan ini dengan perintah seperti berikut, menentukan daftar dependensi yang akan dipasang. Misalnya, perintah berikut menginstruksikan Composer untuk memasang daftar dependensi berikut.  

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

Untuk informasi selengkapnya, lihat [Pemasangan](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/installation.html) di dalam *Panduan Developer AWS SDK untuk PHP *.

### Untuk mengatur pengelolaan kredensial di lingkungan Anda
<a name="sample-php-sdk-creds"></a>

Setiap kali Anda menggunakan AWS SDK untuk PHP untuk memanggil AWS layanan, Anda harus memberikan satu set kredensil dengan panggilan tersebut. Kredensil ini menentukan apakah AWS SDK untuk PHP memiliki izin yang sesuai untuk melakukan panggilan itu. Jika kredensial tidak mencakup izin yang sesuai, panggilan akan gagal.

Pada langkah ini, Anda menyimpan kredensial Anda di dalam lingkungan. Untuk melakukannya, ikuti petunjuk di [Menelepon Layanan AWS dari lingkungan di AWS Cloud9](credentials.md), lalu kembali ke topik ini.

Untuk informasi tambahan, lihat bagian "Membuat klien" dari [Penggunaan Basic](https://docs.aws.amazon.com/sdk-for-php/v3/developer-guide/basic-usage.html) di *Panduan Developer AWS SDK untuk PHP *.

## Langkah 5: Tambahkan kode AWS SDK
<a name="sample-php-sdk-code"></a>

Pada langkah ini, Anda menambahkan beberapa kode lagi, kali ini untuk berinteraksi dengan Amazon S3 untuk membuat bucket, daftarkan bucket Anda yang tersedia, lalu hapus bucket yang baru saja Anda buat. Anda akan menjalankan kode ini nanti.

Di AWS Cloud9 IDE, buat file dengan konten ini, dan simpan file dengan namanya`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);

?>
```

## Langkah 6: Jalankan kode AWS SDK
<a name="sample-php-sdk-run"></a>

1. Di AWS Cloud9 IDE, pada bilah menu, pilih **Jalankan, Jalankan** **Konfigurasi**, **Konfigurasi Jalankan Baru**.

1. Di tab **[Baru] - Diam**, pilih **Runner: Otomatis**, lalu pilih **PHP.(cli)**.

1. Untuk **Perintah**, ketik `s3.php America/Los_Angeles my-test-bucket us-east-2`, di mana:
   +  `America/Los_Angeles` adalah ID zona waktu default Anda. Untuk selengkapnya IDs, lihat [Daftar Zona Waktu yang Didukung](http://php.net/manual/en/timezones.php) di situs web PHP.
   +  `my-test-bucket` adalah nama bucket yang ingin Anda buat dan kemudian hapus.
**catatan**  
Nama bucket Amazon S3 harus unik di seluruh AWS—bukan hanya akun Anda. AWS 
   +  `us-east-2`adalah ID AWS Wilayah tempat Anda ingin membuat bucket. Untuk selengkapnya IDs, lihat [Amazon Simple Storage Service (Amazon S3) di](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) halaman. *Referensi Umum Amazon Web Services*

1. Pilih tombol **Jalankan**, dan bandingkan output Anda.

   ```
   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:
   ```

## Langkah 7: Bersihkan
<a name="sample-php-clean-up"></a>

Untuk mencegah tagihan yang sedang berlangsung ke AWS akun Anda setelah selesai menggunakan sampel ini, Anda harus menghapus lingkungan. Untuk petunjuk, lihat [Menghapus lingkungan di AWS Cloud9](delete-environment.md).

### Memecahkan masalah dengan PHP runner untuk AWS Cloud9
<a name="sample-php-troubleshooting"></a>

Jika Anda mengalami masalah dengan runner PHP CLI, Anda harus memastikan bahwa runner telah diatur ke PHP dan mode debugger diaktifkan.