Runtime di PHP

La funzione Cloud Functions viene eseguita in un ambiente costituito da una versione del sistema operativo più pacchetti di componenti aggiuntivi, supporto del linguaggio e la libreria di Functions Framework che supporta e richiama la tua funzione. Questo ambiente è identificato dalla versione in lingua ed è noto come runtime.

Questi runtime utilizzano nginx e PHP-FPM per gestire le richieste. Per ulteriori informazioni sui runtime in generale e sulla versione di Ubuntu utilizzata da ciascun runtime PHP, consulta l'ambiente di esecuzione di Cloud Functions.

Per iniziare a utilizzare PHP su Cloud Functions, consulta la Guida rapida.

Seleziona il runtime

Cloud Functions supporta diverse versioni di PHP, elencate nella pagina Supporto del runtime. Puoi selezionare il runtime PHP preferito per la tua funzione durante il deployment.

gcloud

Se utilizzi Google Cloud CLI, specifica il runtime utilizzando il parametro --runtime. NAME specifica il nome della funzione. Ad esempio:

gcloud functions deploy NAME --runtime php82 --trigger-http

Per ulteriori parametri di deployment, consulta Deployment di una funzione Cloud Functions.

Console

Se utilizzi la console Google Cloud, consulta la guida rapida della console Google Cloud per istruzioni dettagliate.

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 Utilizzo di PHP su Google Cloud.

La libreria che richiama la tua funzione è il framework delle funzioni PHP.

Struttura del codice sorgente

Affinché Cloud Functions trovi la definizione della tua funzione, il codice sorgente deve seguire una struttura specifica. Per ulteriori informazioni, consulta Scrittura di Cloud Functions.

Configurazione PHP

Configuri 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 nel seguente esempio di codice:


use Psr\Http\Message\ServerRequestInterface;

function phpInfoDemo(ServerRequestInterface $request): string
{
    // phpinfo() displays its output directly in the function's
    // HTTP response, so we don't need to explicitly return it
    //
    // Note: we recommend deleting the deployed Cloud Function once you no
    // longer need it, as phpinfo() may broadcast potential security issues.
    phpinfo();
    return '';
}

Specifica delle dipendenze

Puoi specificare le dipendenze per la funzione aggiungendole a un file di progetto denominato composer.json. Per maggiori informazioni, consulta la sezione Specifica delle dipendenze in PHP.

Passaggi successivi