La funzione Cloud Run viene eseguita in un ambiente costituito da una versione del sistema operativo con pacchetti aggiuntivi, supporto per le lingue e la libreria PHP Functions Framework che supporta e richiama la funzione. Questo ambiente viene identificato dalla versione della lingua ed è noto come ID runtime.
Preparazione della funzione
Puoi preparare una funzione direttamente dalla console Google Cloud o scriverla sulla tua macchina locale e caricarla. Per preparare la tua macchina locale per lo sviluppo PHP, consulta Utilizzare PHP su Google Cloud.
Runtime PHP e immagini di base supportati
Runtime | ID runtime | Serie | Immagine di base del runtime |
---|---|---|---|
PHP 8.3 | php83 |
|
|
PHP 8.2 | php82 |
|
|
PHP 8.1 | php81 | google-18-full | google-18-full/php81 |
PHP 7.4 | php74 | google-18-full | google-18-full/php74 |
Seleziona il runtime
Puoi selezionare uno dei runtime PHP supportati per la tua funzione durante il deployment.
Puoi selezionare una versione di runtime utilizzando la console Google Cloud o gcloud CLI. Fai clic sulla scheda per leggere le istruzioni sull'utilizzo dello strumento scelto:
gcloud
Specifica l'immagine di base PHP per la tua funzione utilizzando il flag --base-image
,
durante il deployment della funzione. Ad esempio:
gcloud beta run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image php83
Sostituisci:
FUNCTION con il nome della funzione di cui stai eseguendo il deployment. Puoi omettere del tutto questo parametro, ma se lo fai ti verrà chiesto il nome.
FUNCTION_ENTRYPOINT con il punto di ingresso della funzione nel codice sorgente. Questo è il codice che Cloud Run esegue quando viene eseguita la funzione. Il valore di questo flag deve essere un nome di funzione o un nome di classe completamente qualificato esistente nel codice sorgente.
Per istruzioni dettagliate sul deployment di una funzione utilizzando l'interfaccia a riga di comando gcloud, consulta Eseguire il deployment di funzioni in Cloud Run.
Console
Puoi selezionare una versione del runtime quando crei o aggiorni una funzione Cloud Run nella console Google Cloud. Per istruzioni dettagliate sul deployment di una funzione, consulta Eseguire il deployment di funzioni in Cloud Run.
Per selezionare un runtime nella console Google Cloud quando crei una funzione:
Nella console Google Cloud, vai alla pagina Cloud Run:
Fai clic su Scrivi una funzione.
Nell'elenco Runtime, seleziona una versione del runtime PHP.
Fai clic su Crea e attendi che Cloud Run crei il servizio utilizzando una revisione segnaposto.
La console ti reindirizzerà alla scheda Origine, dove potrai visualizzare il codice sorgente della funzione. Fai clic su Salva e ridistribuisci.
Per istruzioni dettagliate su come aggiornare la versione del runtime dopo il deployment della funzione, consulta Eseguire nuovamente il deployment del nuovo codice sorgente.
Struttura del codice sorgente
Affinché le funzioni Cloud Run trovino la definizione della funzione, il codice sorgente deve seguire una struttura specifica. Per ulteriori informazioni, consulta Scrivere funzioni Cloud Run.
Configurazione PHP
Configura la funzione PHP con un file php.ini
nella directory principale della funzione. Puoi visualizzare le impostazioni di configurazione PHP esistenti con la funzione phpinfo()
, come mostrato nell'esempio di codice seguente:
Specifica delle dipendenze
PHP utilizza Composer per gestire le dipendenze. Specifica le dipendenze per la funzione aggiungendole a un file di progetto denominato composer.json
.
Il runtime PHP delle funzioni Cloud Run richiede che il framework Functions sia una dipendenza esplicita. Per aggiungere il framework Functions come dipendenza, esegui il seguente comando nella directory contenente il codice della funzione (questa directory deve contenere anche il file composer.json
):
composer require google/cloud-functions-framework
In questo modo, il framework Functions viene aggiunto a composer.json
e il
package viene installato nella directory vendor/
.
File autoload.php
Uno dei file contenuti nella directory vendor/
è autoload.php
.
Aggiungi la seguente riga all'inizio degli script PHP per richiedere il
file autoload.php
, che require
automaticamente le altre dipendenze della funzione:
require_once __DIR__ . '/vendor/autoload.php';
Per impostazione predefinita, la directory vendor/
viene ignorata nel file .gcloudignore
generato per ridurre il numero di file inviati durante il deployment.