Tutorial de PHP 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.

Tutorial de PHP para AWS Cloud9

Este tutorial le permite ejecutar algunos scripts PHP 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 . Entre estos se incluyen posibles cargos por servicios como Amazon EC2 y Amazon S3. Para obtener más información, consulte Precios de Amazon EC2 y Precios de Amazon S3.

Requisitos previos

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

  • Debe tener un entorno de desarrollo AWS Cloud9 EC2 existente. En este ejemplo, se da por hecho que ya tiene un entorno de EC2 que está conectado a una instancia de Amazon EC2 que ejecuta Amazon Linux o Ubuntu Server. 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 AWS Cloud9 IDE del entorno existente. Al abrir un entorno, AWS Cloud9 abre el IDE de 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, instalará PHP, que es necesario para ejecutar este ejemplo.

nota

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

  1. En una sesión de terminal en el AWS Cloud9 IDE, ejecute el php --versioncomando para confirmar si PHP ya está instalado. (Para iniciar una nueva sesión del terminal, en la barra de menús, seleccione Window [Ventana], New Terminal [Nuevo terminal]). Si es así, el resultado contendrá el número de versión de PHP. Si PHP está instalado, continúe en Paso 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. Instale PHP ejecutando el comando install .

    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 Installation and Configuration en el sitio web de PHP.

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 incluyes o requieres otros archivos PHP en tu archivo y quieres usarlos AWS Cloud9 para completar código mientras escribes, activa la configuración Proyecto, Soporte PHP, Habilitar finalización de código PHP en Preferencias y, a continuación, añade las rutas a esos archivos a la configuración Proyecto, Soporte PHP, Integración de rutas de finalización de PHP. (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 el AWS Cloud9 IDE, en la barra de menús, selecciona Ejecutar, Ejecutar configuraciones, Nueva configuración de ejecución.

  2. En la pestaña [New] - Idle (Nuevo - Inactivo), elija Runner: Auto (Ejecutor: automático) 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 la ejecución del código PHP 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 AWS SDK for PHP, lo que proporciona una forma cómoda de interactuar con AWS servicios como Amazon S3, desde su código PHP. 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 comando curl con las opciones de silenciar (-s) y mostrar errores (-S), canalizando el instalador de Composer a un archivo PHP (PHAR), cuyo nombre es composer.phar por convención.

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 a los servicios de AWS desde un entorno en 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: Agrega el código AWS del SDK

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 código AWS del SDK

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

  2. En la pestaña [New] - Idle (Nuevo - Inactivo), elija Runner: Auto (Ejecutor: automático) 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 varios ID, consulte la lista de zonas horarias admitidas en el sitio web de PHP.

    • 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 ver más ID, visite Amazon Simple Storage Service (Amazon S3) en la 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 realizando cargos en tu AWS cuenta una vez que hayas terminado de usar este ejemplo, debes eliminar el entorno. Para ver instrucciones, consulte Eliminación de un entorno en AWS Cloud9.

Solución de problemas con el ejecutor de PHP para AWS Cloud9

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