La funzione Cloud Run viene eseguita in un ambiente costituito da una versione del sistema operativo con pacchetti aggiuntivi, supporto linguistico e la libreria PHP Functions Framework che supporta e richiama la funzione. Questo ambiente è 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 macchina locale per lo sviluppo in PHP, consulta Utilizzare PHP su Google Cloud.
Runtime PHP e immagini base supportati
Runtime | ID runtime | Stack | Immagine di base runtime |
---|---|---|---|
PHP 8.4 | php84 | google-22-full (predefinito) | google-22-full/php84 |
PHP 8.3 | php83 | google-22-full (predefinito) | google-22-full/php83 |
PHP 8.2 | php82 | google-22-full (predefinito) | google-22-full/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 del runtime utilizzando la console Google Cloud o gcloud CLI. Fai clic sulla scheda per visualizzare le istruzioni sull'utilizzo dello strumento che preferisci:
gcloud
Specifica l'immagine di base PHP per la tua funzione utilizzando il flag --base-image
durante il deployment della funzione. Ad esempio:
gcloud run deploy FUNCTION \
--source . \
--function FUNCTION_ENTRYPOINT \
--base-image php84
Sostituisci:
FUNCTION con il nome della funzione che stai eseguendo il deployment. Puoi omettere completamente questo parametro, ma ti verrà chiesto il nome se lo ometti.
FUNCTION_ENTRYPOINT con l'entry point della tua funzione nel codice sorgente. Questo è il codice eseguito da Cloud Run quando viene eseguita la funzione. Il valore di questo flag deve essere un nome di funzione o un nome di classe completo che esiste nel codice sorgente.
Per istruzioni dettagliate sul deployment di una funzione utilizzando gcloud CLI, vedi Eseguire il deployment delle funzioni in Cloud Run.
Console
Puoi selezionare una versione del runtime quando crei o aggiorni una funzione Cloud Run nella Google Cloud console. 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 tua funzione. Fai clic su Salva e ridistribuisci.
Per istruzioni dettagliate sull'aggiornamento della 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 tua funzione, il codice sorgente deve seguire una struttura specifica. Per saperne di più, consulta Scrivi funzioni Cloud Run.
Configurazione PHP
Configura la funzione PHP con un php.ini
file nella directory radice
della funzione. Puoi visualizzare le impostazioni di configurazione PHP esistenti con la funzione
phpinfo()
come
mostrato nel seguente esempio di codice:
Specifica delle dipendenze
PHP utilizza Composer per gestire le dipendenze. Specifichi le dipendenze per la tua funzione aggiungendole a un file di progetto chiamato composer.json
.
Il runtime PHP delle funzioni Cloud Run richiede che Functions
Framework sia una dipendenza esplicita. Per aggiungere Functions Framework come dipendenza, esegui questo 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, Functions Framework viene aggiunto a composer.json
e il pacchetto 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 tua 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 nel deployment.