Utilizzo della piattaforma PHP di Elastic Beanstalk - AWS Elastic Beanstalk

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Utilizzo della piattaforma PHP di Elastic Beanstalk

Questo argomento descrive come configurare, creare ed eseguire le PHP applicazioni su Elastic Beanstalk.

AWS Elastic Beanstalk supporta una serie di rami della piattaforma per diverse versioni del linguaggio di programmazione. PHP Queste piattaforme supportano applicazioni PHP Web che possono essere eseguite da sole o con Composer. Per PHPun elenco completo dei AWS Elastic Beanstalk rami della piattaforma supportati, consulta il documento Piattaforme.

Elastic Beanstalk offre opzioni di configurazione che puoi utilizzare per personalizzare il software che viene eseguito EC2 sulle istanze nell'ambiente Elastic Beanstalk. Puoi configurare le variabili di ambiente richieste dalla tua applicazione, abilitare la rotazione dei log su Amazon S3, mappare le cartelle nell'origine dell'applicazione che contengono file statici ai percorsi serviti dal server proxy e impostare impostazioni di PHP inizializzazione comuni.

Sono disponibili opzioni di configurazione specifiche della piattaforma nella console Elastic Beanstalk per la modifica della configurazione di un ambiente in esecuzione. Per conservare la configurazione dell'ambiente una volta terminata, puoi utilizzare configurazioni salvate per salvare le impostazioni e applicarle successivamente a un altro ambiente.

Per salvare le impostazioni nel codice sorgente, puoi includere i file di configurazione. Le impostazioni nei file di configurazione vengono applicate ogni volta che crei un ambiente o distribuisci l'applicazione. Puoi inoltre utilizzare i file di configurazione per installare pacchetti, eseguire script o altre operazioni di personalizzazione delle istanze durante le distribuzioni.

Se utilizzi Composer, puoi includere un file composer.json nel bundle di origine per installare pacchetti durante la distribuzione.

Per la PHP configurazione avanzata e PHP le impostazioni che non vengono fornite come opzioni di configurazione, puoi utilizzare i file di configurazione per fornire un INI file in grado di estendere e sovrascrivere le impostazioni predefinite applicate da Elastic Beanstalk o installare estensioni aggiuntive.

Le impostazioni applicate nella console Elastic Beanstalk sostituiscono le stesse impostazioni nei file di configurazione, se esistenti. Ciò ti consente di disporre di impostazioni predefinite nei file di configurazione, sostituibili con impostazioni specifiche per l'ambiente nella console. Per ulteriori informazioni sulla precedenza e altri metodi di modifica delle impostazioni, consulta Opzioni di configurazione.

Per informazioni dettagliate sui vari modi in cui è possibile estendere una piattaforma Elastic Beanstalk basata su Linux, consulta Estensione delle piattaforme Elastic Beanstalk Linux.

Considerazioni per PHP 8.1 su Amazon Linux 2

Leggi questa sezione se utilizzi il ramo della piattaforma PHP8.1 su Amazon Linux 2.

Nota

Le informazioni contenute in questo argomento si applicano solo al ramo PHP8.1 sulla piattaforma Amazon Linux 2. Non si applica ai rami della PHP piattaforma basati su AL2 023. Inoltre, non si applica al ramo della piattaforma Amazon Linux 2 PHP 8.0.

Elastic Beanstalk PHP archivia i pacchetti relativi alla versione RPM 8.1 per PHPil ramo della piattaforma 8.1 su Amazon Linux 2 EC2 sulle istanze in una directory locale, anziché nel repository Amazon Linux. È possibile utilizzare rpm -i per installare pacchetti. A partire dalla versione PHP 8.1 della piattaforma 3.5.0, Elastic Beanstalk PHP archivia i pacchetti correlati alla versione RPM 8.1 nella seguente directory locale. EC2

/opt/elasticbeanstalk/RPMS

L'esempio seguente installa il pacchetto php-debuginfo.

$rpm -i /opt/elasticbeanstalk/RPMS/php-debuginfo-8.1.8-1.amzn2.x86_64.rpm

La versione nel nome del pacchetto varierà in base alla versione effettiva elencata nella directory locale. EC2 /opt/elasticbeanstalk/RPMS Usa la stessa sintassi per installare altri RPM pacchetti PHP 8.1.

Espandi la sezione seguente per visualizzare un elenco dei RPM pacchetti che forniamo.

L'elenco seguente fornisce i RMP pacchetti forniti dalla piattaforma PHP Elastic Beanstalk 8.1 su Amazon Linux 2. Questi si trovano nella directory locale /opt/elasticbeanstalk/RPMS.

I numeri di versione 8.1.8-1 e 3.7.0-1 nei nomi dei pacchetti elencati rappresentano solo un esempio.

  • php-8.1.8-1.amzn2.x86_64.rpm

  • php-bcmath-8.1.8-1.amzn2.x86_64.rpm

  • php-cli-8.1.8-1.amzn2.x86_64.rpm

  • php-common-8.1.8-1.amzn2.x86_64.rpm

  • php-dba-8.1.8-1.amzn2.x86_64.rpm

  • php-dbg-8.1.8-1.amzn2.x86_64.rpm

  • php-debuginfo-8.1.8-1.amzn2.x86_64.rpm

  • php-devel-8.1.8-1.amzn2.x86_64.rpm

  • php-embedded-8.1.8-1.amzn2.x86_64.rpm

  • php-enchant-8.1.8-1.amzn2.x86_64.rpm

  • php-fpm-8.1.8-1.amzn2.x86_64.rpm

  • php-gd-8.1.8-1.amzn2.x86_64.rpm

  • php-gmp-8.1.8-1.amzn2.x86_64.rpm

  • php-intl-8.1.8-1.amzn2.x86_64.rpm

  • php-ldap-8.1.8-1.amzn2.x86_64.rpm

  • php-mbstring-8.1.8-1.amzn2.x86_64.rpm

  • php-mysqlnd-8.1.8-1.amzn2.x86_64.rpm

  • php-odbc-8.1.8-1.amzn2.x86_64.rpm

  • php-opcache-8.1.8-1.amzn2.x86_64.rpm

  • php-pdo-8.1.8-1.amzn2.x86_64.rpm

  • php-pear-1.10.13-1.amzn2.noarch.rpm

  • php-pgsql-8.1.8-1.amzn2.x86_64.rpm

  • php-process-8.1.8-1.amzn2.x86_64.rpm

  • php-pspell-8.1.8-1.amzn2.x86_64.rpm

  • php-snmp-8.1.8-1.amzn2.x86_64.rpm

  • php-soap-8.1.8-1.amzn2.x86_64.rpm

  • php-sodium-8.1.8-1.amzn2.x86_64.rpm

  • php-xml-8.1.8-1.amzn2.x86_64.rpm

  • php-pecl-imagick-3.7.0-1.amzn2.x86_64.rpm

  • php-pecl-imagick-debuginfo-3.7.0-1.amzn2.x86_64.rpm

  • php-pecl-imagick-devel-3.7.0-1.amzn2.noarch.rpm

Puoi usare i PECL pacchetti PEAR and per installare estensioni comuni. Per ulteriori informazioni in meritoPEAR, consultate il sito Web PEARPHPExtension and Application Repository. Per ulteriori informazioni in meritoPECL, consulta il sito Web dell'PECLestensione.

I seguenti comandi di esempio installano le estensioni Memcached.

$pecl install memcache

Oppure puoi inoltre utilizzare quanto segue:

$pear install pecl/memcache

I seguenti comandi di esempio installano le estensioni Redis.

$pecl install redis

Oppure puoi inoltre utilizzare quanto segue:

$pear install pecl/redis

Configurazione dell'ambiente PHP

Puoi utilizzare la console Elastic Beanstalk per abilitare la rotazione dei log su Amazon S3, configurare le variabili che l'applicazione può leggere dall'ambiente e modificare le impostazioni. PHP

Per configurare l'PHPambiente nella console Elastic Beanstalk
  1. Apri la console Elastic Beanstalk e, nell'elenco Regioni, seleziona la tua. Regione AWS

  2. Nel pannello di navigazione selezionare Environments (Ambienti), quindi selezionare il nome dell'ambiente dall'elenco.

    Nota

    Se si dispone di molti ambienti, utilizzare la barra di ricerca per filtrare l'elenco degli ambienti.

  3. Nel riquadro di navigazione, seleziona Configuration (Configurazione).

  4. Nella categoria di configurazione Updates, monitoring, and logging (Aggiornamenti, monitoraggio e registrazione), scegli Edit (Modifica).

PHPimpostazioni

  • Proxy server (Server proxy): il server proxy da utilizzare nelle istanze dell'ambiente. Per impostazione predefinita, viene utilizzato nginx.

  • Document root (Root del documento): la cartella che contiene la pagina predefinita del tuo sito. Se la pagina di benvenuto non è nella radice del bundle di origine, specifica la cartella che lo contiene rispetto al percorso principale. Ad esempio, /public se la pagina di benvenuto si trova in una cartella chiamata public.

  • Memory limit (Limite di memoria): la quantità massima di memoria che uno script può allocare. Ad esempio 512M.

  • Zlib output compression (Compressione Zlib dell'output): impostare su On per comprimere le risposte.

  • Consenti URL fopen: imposta questa opzione per impedire Off agli script di scaricare file da postazioni remote.

  • Display errors (Visualizza errori): impostare su On per visualizzare messaggi di errore interni per il debug.

  • Max execution time (Tempo massimo di esecuzione): tempo massimo, espresso in secondi, durante il quale a uno script è consentita l'esecuzione prima di essere terminato dall'ambiente.

Opzioni di log

La sezione Log Options (Opzioni di log) ha due impostazioni:

  • Instance profile (Profilo dell'istanza): specifica il profilo dell'istanza che dispone dell'autorizzazione ad accedere al bucket Amazon S3 associato all'applicazione.

  • Abilita la rotazione dei file di registro su Amazon S3: specifica se i file di log per le EC2 istanze Amazon dell'applicazione vengono copiati nel bucket Amazon S3 associato all'applicazione.

File statici

Per migliorare le prestazioni, puoi utilizzare la sezione File statici per configurare il server proxy in modo che serva file statici (ad esempio HTML o immagini) da un set di directory all'interno della tua applicazione web. Per ogni directory, è possibile impostare il percorso virtuale per la mappatura delle directory. Quando il server proxy riceve una richiesta da un file nel percorso specificato, questo serve il file direttamente anziché instradare la richiesta all'applicazione.

Per informazioni dettagliate sulla configurazione di file statici utilizzando file di configurazione o la console Elastic Beanstalk, consulta Fornire i file statici.

Proprietà dell'ambiente

La sezione Environment Properties consente di specificare le impostazioni di configurazione dell'ambiente sulle EC2 istanze Amazon su cui è in esecuzione l'applicazione. Queste impostazioni sono passate come coppie chiave-valore all'applicazione.

Il codice dell'applicazione può accedere alle proprietà dell'ambiente utilizzando $_SERVER o la funzione get_cfg_var.

$endpoint = $_SERVER['API_ENDPOINT'];

Per ulteriori informazioni, consultare Proprietà dell'ambiente e altre impostazioni software.

Spazio dei nomi aws:elasticbeanstalk:container:php:phpini

È possibile utilizzare un file di configurazione per impostare le opzioni di configurazione ed eseguire alte attività di configurazione delle istanze durante le distribuzioni. Le opzioni di configurazione, che possono essere definite dal servizio Elastic Beanstalk o dalla piattaforma utilizzata, sono organizzate in spazi dei nomi.

È possibile utilizzare lo spazio dei nomi aws:elasticbeanstalk:environment:proxy per scegliere il server proxy dell'ambiente.

È possibile utilizzare lo spazio dei nomi aws:elasticbeanstalk:environment:proxy:staticfiles dei nomi per configurare il proxy di ambiente per servire file statici. È possibile definire i mapping dei percorsi virtuali alle directory dell'applicazione.

La PHP piattaforma definisce le opzioni nello spazio dei aws:elasticbeanstalk:container:php:phpini nomi, inclusa una che non è disponibile nella console Elastic Beanstalk. composer_optionsimposta le opzioni personalizzate da utilizzare durante l'installazione delle dipendenze utilizzando Composer tramite. composer.phar install Per ulteriori informazioni, comprese le opzioni disponibili, vai alla pagina http://getcomposer.org/doc/03-cli.md#install.

Il seguente file di configurazione di esempio specifica un'opzione di file statici che esegue il mapping di una directory denominata staticimages al percorso /images e mostra le impostazioni per ciascuna delle opzioni disponibili nello spazio dei nomi aws:elasticbeanstalk:container:php:phpini:

Esempio .ebextensions/php-settings.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: apache aws:elasticbeanstalk:environment:proxy:staticfiles: /images: staticimages aws:elasticbeanstalk:container:php:phpini: document_root: /public memory_limit: 128M zlib.output_compression: "Off" allow_url_fopen: "On" display_errors: "Off" max_execution_time: 60 composer_options: vendor/package
Nota

Lo spazio dei aws:elasticbeanstalk:environment:proxy:staticfiles nomi non è definito sui rami della AMI PHP piattaforma Amazon Linux (prima di Amazon Linux 2).

In Elastic Beanstalk sono disponibili varie opzioni di configurazione per la personalizzazione dell'ambiente. Oltre ai file di configurazione, puoi anche impostare le opzioni di configurazione utilizzando la console, le configurazioni salvate, l'EB CLI o il. AWS CLI Per ulteriori informazioni, consulta Opzioni di configurazione.