Tutorial do PHP para o AWS Cloud9 - AWS Cloud9

O AWS Cloud9 não está mais disponível para novos clientes. Os clientes atuais do AWS Cloud9 podem continuar usando o serviço normalmente. Saiba mais

Tutorial do PHP para o AWS Cloud9

Este tutorial permite executar alguns scripts PHP em um ambiente de desenvolvimento do AWS Cloud9.

Seguir este tutorial e criar este exemplo pode gerar cobranças em sua conta da AWS. Isso inclui possíveis cobranças por serviços como o Amazon EC2 e Amazon S3. Para obter mais informações, consulte Preço do Amazon EC2 e Preço do Amazon S3.

Pré-requisitos

Antes de usar esse exemplo, verifique se suas configurações cumprem os requisitos a seguir.

  • É necessário ter um ambiente existente de desenvolvimento do AWS Cloud9 EC2 Este exemplo pressupõe que você já tem um ambiente do EC2 conectado a uma instância do Amazon EC2 que executa Amazon Linux ou Ubuntu Server. Caso tenha um tipo diferente de ambiente ou sistema operacional, poderá ser necessário adaptar as instruções desse exemplo para configurar ferramentas relacionadas. Para ter mais informações, consulte Criar um ambiente no AWS Cloud9.

  • Você tem o IDE do AWS Cloud9 para o ambiente existente já aberto. Ao abrir um ambiente o AWS Cloud9 abre o IDE para esse ambiente em um navegador da web. Para ter mais informações, consulte Abrir um ambiente no AWS Cloud9.

Etapa 1: Instalar as ferramentas necessárias

Nesta etapa, instale a PHP, necessária para executar esse exemplo.

nota

O procedimento a seguir instala somente a PHP. Para instalar ferramentas relacionadas como um servidor web Apache e um banco de dados MySQL, consulte Tutorial: Installing a LAMP Web Server on Amazon Linux no Manual do usuário do Amazon EC2.

  1. Em uma sessão de terminal no IDE do AWS Cloud9, confirme se a PHP já está instalada, executando o comando php --version . (Para iniciar uma nova sessão de terminal, na barra de menus, selecione Janela, Novo terminal.) Se sim, a saída contém o número da versão PHP. Se o PHP estiver instalado, avance para Etapa 2: Adicionar código.

  2. Execute o comando yum update para Amazon Linux ou o comando apt update para Ubuntu Server a fim de ajudar a garantir que as atualizações de segurança e correções de bug mais recentes sejam instaladas.

    Amazon Linux 2 e Amazon Linux:

    sudo yum -y update

    Para Ubuntu Server:

    sudo apt update
  3. Instale a PHP executando o comando install .

    Para Amazon Linux 2:

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

    Para Amazon Linux:

    sudo yum -y install php72
    nota

    Você pode visualizar sua versão do Amazon Linux usando o comando a seguir.

    cat /etc/system-release

    Para Ubuntu Server:

    sudo apt install -y php php-xml

    Para obter mais informações, consulte Instalação e configuração no site da PHP.

Etapa 2: Adicionar código

No IDE do AWS Cloud9, crie um arquivo com esse conteúdo e salve-o com o nome hello.php. (Para criar um arquivo, na barra de menus, selecione File (Arquivo), New File (Novo arquivo). Para salvar o arquivo, selecione File (Arquivo), Save (Salvar), digite hello.php como o Filename (Nome do arquivo) e escolha Save (Salvar).)

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

O código anterior não depende de arquivos externos. No entanto, se eventualmente você incluir ou precisar de outros arquivos PHP no seu arquivo e desejar que o AWS Cloud9 use esses arquivos para completar o código enquanto digita, ative a configuração Project, PHP Support, Enable PHP code completion (Projeto, suporte à PHP, habilitar a conclusão de código PHP) em Preferences (Preferências) e, em seguida, adicione os caminhos para esses arquivos na configuração Project, PHP Support, PHP Completion Include Paths (Projeto, suporte à PHP, incluir caminhos para a conclusão de PHP). (Para exibir e alterar as preferências, selecione AWS Cloud9, Preferences (Preferências) na barra de menus).

Etapa 3: Executar o código

  1. No IDE do AWS Cloud9, na barra de menus, selecione Run (Executar), Run Configurations (Configurações de execução), New Run Configuration (Nova configuração de execução).

  2. Na guia [Novo] – Inativo, selecione Executor: automático e escolha PHP (cli).

  3. Em Comando, digite hello.php 5 9. No código, 5 representa $argv[1] e 9 representa $argv[2]. ($argv[0] representa o nome do arquivo (hello.php).)

  4. Selecione o botão Executar e compare a sua saída.

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
Resultado da execução do código PHP no IDE do AWS Cloud9

Etapa 4: Instalar e configurar o AWS SDK for PHP

Você pode aprimorar este exemplo para usar o AWS SDK for PHP para criar um bucket do Amazon S3, listar os buckets disponíveis e excluir o bucket que acabou de criar.

Nesta etapa, instale e configure o AWS SDK for PHP, que fornece uma forma prática de interagir com os serviços da AWS, como o Amazon S3, em seu código PHP. Antes de instalar o AWS SDK for PHP, instale o Composer. Depois de instalar o AWS SDK for PHP, configure o gerenciamento de credenciais no ambiente. O AWS SDK for PHP precisa dessas credenciais para interagir com os serviços da AWS.

Para instalar o Composer

Execute o comando curl com as opções silent (-s) e mostrar erro (-S), conectando o instalador do Composer em um arquivo PHP (PHAR), nomeado composer.phar por convenção.

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

Para instalar o AWS SDK for PHP

Para Ubuntu Server, instale pacotes adicionais dos quais o Composer precisa para instalar o AWS SDK for PHP.

sudo apt install -y php-xml php-curl

Para o Amazon Linux ou o Ubuntu Server, use o comando php para executar o instalador do Composer para instalar o AWS SDK for PHP.

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

Esse comando cria várias pastas e arquivos no ambiente. O arquivo primário que será usado é autoload.php, que se encontra na pasta vendor no ambiente.

nota

Após a instalação, o Composer pode sugerir que você instale dependências adicionais. Você pode fazer isso com um comando, como o seguinte, especificando a lista de dependências a serem instaladas. Por exemplo, o seguinte comando instrui o Composer a instalar a seguinte lista de dependências.

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

Para obter mais informações, consulte Instalação no Guia do Desenvolvedor do AWS SDK for PHP.

Para configurar o gerenciamento de credenciais no ambiente

Toda vez que você usar o AWS SDK for PHP para chamar um serviço da AWS, forneça um conjunto de credenciais com a chamada. Essas credenciais determinam se o AWS SDK for PHP tem as permissões apropriadas para realizar essa chamada. Se as credenciais não cobrirem as permissões apropriadas, a chamada falhará.

Nesta etapa, você armazenará as credenciais no ambiente. Para fazer isso, siga as instruções em Chamar Serviços da AWS em um ambiente no AWS Cloud9 e retorne a este tópico.

Para obter mais informações, consulte a seção "Criação de um cliente" de Uso básico no Guia do desenvolvedor do AWS SDK for PHP.

Etapa 5: Adicionar código do SDK da AWS

Nesta etapa, adicione mais código, dessa vez para interagir com o Amazon S3 para criar um bucket, listar os buckets disponíveis e, excluir o bucket que você acabou de criar. Esse código será executado mais tarde.

No IDE do AWS Cloud9, crie um arquivo com esse conteúdo e salve-o com o nome 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); ?>

Etapa 6: Executar o código SDK da AWS

  1. No IDE do AWS Cloud9, na barra de menus, selecione Run (Executar), Run Configurations (Configurações de execução), New Run Configuration (Nova configuração de execução).

  2. Na guia [Novo] – Inativo, selecione Executor: automático e escolha PHP (cli).

  3. Em Command (Comando), digite s3.php America/Los_Angeles my-test-bucket us-east-2, onde:

    • America/Los_Angeles é o ID de fuso horário padrão. Para obter mais IDs, consulte Lista de fuso horários compatíveis no site da PHP.

    • my-test-bucket é o nome do bucket que você deseja criar e, em seguida, excluir.

      nota

      Os nomes de buckets do Amazon S3 devem ser exclusivos em toda a AWS, e não apenas na sua conta da AWS.

    • us-east-2 é o ID da região da AWS na qual você deseja criar o bucket. Para obter mais IDs, consulte Amazon Simple Storage Service (Amazon S3) na Referência geral da Amazon Web Services.

  4. Selecione o botão Executar e compare a sua saída.

    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:

Etapa 7: limpar

Para evitar cobranças contínuas em sua conta da AWS, ao terminar de usar este exemplo, exclua o ambiente. Para obter instruções, consulte Excluir um ambiente no AWS Cloud9.

Solução de problemas com o PHP runner para AWS Cloud9

Caso encontre problemas com o executor da CLI do PHP, você deve garantir que o executor tenha sido configurado para PHP e que o modo de depuração esteja ativado.