PHPtutorial para AWS Cloud9 - AWS Cloud9

AWS Cloud9 ya no está disponible para nuevos clientes. Los clientes existentes de AWS Cloud9 pueden seguir utilizando el servicio con normalidad. Más información

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

PHPtutorial para AWS Cloud9

Este tutorial le permite ejecutar algunos PHP scripts en un entorno de AWS Cloud9 desarrollo.

El uso de este tutorial y la creación de esta muestra pueden generar cargos en su cuenta de AWS . Estos incluyen posibles cargos por servicios como Amazon EC2 y Amazon S3. Para obtener más información, consulte Amazon EC2 Pricing y Amazon S3 Pricing.

Requisitos previos

Antes de utilizar este ejemplo, asegúrese de que su configuración cumpla los siguientes requisitos:

  • Debe tener un entorno de AWS Cloud9 EC2 desarrollo existente. En este ejemplo se supone que ya tienes un EC2 entorno conectado a una EC2 instancia de Amazon que ejecuta Amazon Linux o Ubuntu Servidor. Si tiene otro tipo de entorno o sistema operativo, es posible que tenga que adaptar las instrucciones de este ejemplo para configurar herramientas relacionadas. Para obtener más información, consulte Crear un entorno en AWS Cloud9.

  • Ya tiene abierto el entorno existente. AWS Cloud9 IDE Al abrir un entorno, AWS Cloud9 abre el IDE correspondiente a ese entorno en el navegador web. Para obtener más información, consulte Apertura de un entorno en AWS Cloud9.

Paso 1: Instalar las herramientas necesarias

En este paso, se instalaPHP, lo cual es necesario para ejecutar este ejemplo.

nota

El siguiente procedimiento PHP solo se instala. Para instalar herramientas relacionadas, como un servidor web Apache y Mi SQL base de datos, consulte el Tutorial: Instalación de un servidor LAMP web en Amazon Linux en la Guía del EC2 usuario de Amazon.

  1. En una sesión de terminal en AWS Cloud9 IDE, ejecute el php --versioncomando para confirmar si ya PHP está instalado. (Para iniciar una nueva sesión del terminal, en la barra de menús, seleccione Window [Ventana], New Terminal [Nuevo terminal]). Si se ejecuta correctamente, el resultado contiene el número de PHP versión. Si PHP está instalado, pase aPaso 2: Agregar el código.

  2. Ejecute el comando yum update (para Amazon Linux) o apt update (para Ubuntu Server) para garantizar que las últimas actualizaciones de seguridad y correcciones de errores están instaladas.

    Para Amazon Linux 2 y Amazon Linux:

    sudo yum -y update

    Para Ubuntu Server:

    sudo apt update
  3. Realice PHP la instalación ejecutando el installcomando.

    En Amazon Linux 2:

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

    Para Amazon Linux:

    sudo yum -y install php72
    nota

    Puede ver la versión de Amazon Linux usando el comando siguiente:

    cat /etc/system-release

    Para Ubuntu Server:

    sudo apt install -y php php-xml

    Para obtener más información, consulte Instalación y configuración en el PHP sitio web.

Paso 2: Agregar el código

En el AWS Cloud9 IDE, cree un archivo con este contenido y guárdelo con el nombrehello.php. (Para crear un archivo, en la barra de menús, elija File [Archivo], New File [Archivo nuevo]. Para guardar el archivo, elijaFile [Archivo], Save [Guardar], escriba hello.php para Filename [Nombre de archivo] y, a continuación, elija Save [Guardar]).

<?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

El código anterior no depende de archivos externos. Sin embargo, si alguna vez incluye o necesita otros PHP archivos en su archivo y desea usarlos AWS Cloud9 para completar el código mientras escribe, active la opción Project, PHP Support, Enable PHP code complete en Preferencias y, a continuación, añada las rutas a esos archivos a la configuración Project, PHP Support, PHP Completion Include Paths. (Para ver y cambiar las preferencias, elija AWS Cloud9, Preferences [AWS Cloud9, Preferencias] en la barra de menús).

Paso 3: Ejecutar el código

  1. En la AWS Cloud9 IDE barra de menús, seleccione Ejecutar, Ejecutar configuraciones, Nueva configuración de ejecución.

  2. En la pestaña [Nuevo] - Inactivo, seleccione Runner: Auto y, a continuación, elija PHP(cli).

  3. En Command (Comando), escriba hello.php 5 9. En el código, 5 representa $argv[1] y 9 representa $argv[2]. ($argv[0] representa el nombre del archivo (hello.php).)

  4. Elija el botón Run (Ejecutar) y compare los resultados.

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
Resultado de ejecutar el PHP código en el AWS Cloud9 IDE

Paso 4: Instalar y configurar el AWS SDK for PHP

Puede mejorar este ejemplo para usarlo AWS SDK for PHP para crear un bucket de Amazon S3, enumerar los buckets disponibles y, a continuación, eliminar el bucket que acaba de crear.

En este paso, debe instalar y configurar el AWS SDK for PHP, lo que proporciona una forma cómoda de interactuar con AWS servicios como Amazon S3, desde su PHP código. Antes de poder instalar el AWS SDK for PHP, debe instalar Composer. Tras instalar el AWS SDK for PHP, debe configurar la administración de credenciales en su entorno. AWS SDK for PHP Necesita estas credenciales para interactuar con AWS los servicios.

Para instalar Composer

Ejecute el curlcomando con las opciones silent (-s) y show error (-S) y canalice el instalador de Composer a un archivo PHP archive (PHAR), denominado composer.phar de forma convencional.

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

Para instalar el AWS SDK for PHP

Para Ubuntu Server, instale los paquetes adicionales que Composer necesita para instalar el AWS SDK for PHP.

sudo apt install -y php-xml php-curl

Para Amazon Linux o Ubuntu Server, use el comando php para ejecutar el instalador de Composer para instalar el AWS SDK for PHP.

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

Este comando crea varias carpetas y archivos en su entorno. El archivo principal que se va a utilizar es autoload.php, que está en la carpeta vendor de su entorno.

nota

Después de la instalación, Composer podría sugerir que se instalen dependencias adicionales. Puede hacerlo con un comando como los siguientes, especificando la lista de dependencias que desea instalar. Por ejemplo, el siguiente comando indica a Composer que instale la siguiente lista de dependencias.

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

Para obtener más información, consulte Instalación en la Guía para desarrolladores de AWS SDK for PHP .

Para configurar la administración de credenciales en el entorno

Cada vez que utilice el AWS SDK for PHP para llamar a un AWS servicio, debe proporcionar un conjunto de credenciales con la llamada. Estas credenciales determinan si AWS SDK for PHP tiene los permisos adecuados para realizar esa llamada. Si las credenciales no cubren los permisos adecuados, la llamada no se realizará correctamente.

En este paso, se almacenan las credenciales dentro del entorno. Para ello, siga las instrucciones de Llamar Servicios de AWS desde un entorno de AWS Cloud9 y, a continuación, vuelva a este tema.

Para obtener información adicional, consulte la sección sobre creación de un cliente de Uso básico en la Guía para desarrolladores de AWS SDK for PHP .

Paso 5: Añadir AWS SDK código

En este paso, agregará algo más de código, esta vez para interactuar con Amazon S3 y crear un bucket, ver una lista de los buckets disponibles y después eliminar el bucket que acaba de crear. Ejecutará este código más adelante.

En el AWS Cloud9 IDE, cree un archivo con este contenido y guárdelo con el nombres3.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); ?>

Paso 6: ejecuta el AWS SDK código

  1. En la AWS Cloud9 IDE barra de menús, seleccione Ejecutar, Ejecutar configuraciones y Nueva configuración de ejecución.

  2. En la pestaña [Nuevo] - Inactivo, seleccione Runner: Auto y, a continuación, elija PHP(cli).

  3. En Command (Comando), escriba s3.php America/Los_Angeles my-test-bucket us-east-2, donde:

    • America/Los_Angeles es el ID de zona horaria predeterminado. Para obtener más informaciónIDs, consulta la lista de zonas horarias compatibles en el PHP sitio web.

    • my-test-bucket es el nombre del bucket que desea crear y, a continuación, eliminar.

      nota

      Los nombres de los buckets de Amazon S3 deben ser únicos en todas AWS las AWS cuentas, no solo en ellas.

    • us-east-2es el ID de la AWS región en la que quieres crear el bucket. Para obtener más informaciónIDs, consulte Amazon Simple Storage Service (Amazon S3) en. Referencia general de Amazon Web Services

  4. Elija el botón Run (Ejecutar) y compare los resultados.

    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:

Paso 7: limpiar

Para evitar que se sigan cobrando en tu AWS cuenta una vez que hayas terminado de usar este ejemplo, debes eliminar el entorno. Para obtener instrucciones, consulte Eliminación de un entorno en AWS Cloud9.

Solución de problemas con PHP Runner for AWS Cloud9

En caso de que tenga problemas con el PHP CLI ejecutor, debe asegurarse de que el corredor esté configurado PHP y de que el modo de depuración esté activado.