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
Temas
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.
-
En una sesión de terminal en AWS Cloud9 IDE, ejecute el
php --version
comando 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. -
Ejecute el comando
yum update
(para Amazon Linux) oapt 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
-
Realice PHP la instalación ejecutando el
install
comando.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
-
En la AWS Cloud9 IDE barra de menús, seleccione Ejecutar, Ejecutar configuraciones, Nueva configuración de ejecución.
-
En la pestaña [Nuevo] - Inactivo, seleccione Runner: Auto y, a continuación, elija PHP(cli).
-
En Command (Comando), escriba
hello.php 5 9
. En el código,5
representa$argv[1]
y9
representa$argv[2]
. ($argv[0]
representa el nombre del archivo (hello.php
).) -
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.
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
Para instalar Composer
Ejecute el curl
comando 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
-
En la AWS Cloud9 IDE barra de menús, seleccione Ejecutar, Ejecutar configuraciones y Nueva configuración de ejecución.
-
En la pestaña [Nuevo] - Inactivo, seleccione Runner: Auto y, a continuación, elija PHP(cli).
-
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 compatiblesen 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-2
es 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
-
-
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.