Runtime di PHP

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

Questi runtime utilizzano nginx e PHP-FPM per gestire le richieste. Per saperne di più sui runtime in generale e per scoprire quale versione di Ubuntu utilizza ogni runtime PHP, consulta la sezione Ambiente di esecuzione di Cloud Run Functions.

Seleziona il runtime

Cloud Run 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.

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

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

Per altri parametri di deployment, vedi Esegui il deployment di una funzione Cloud Run.

Preparazione della funzione

Puoi scrivere una funzione 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 PHP Functions.

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 Scrittura di 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 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

Specifichi le dipendenze della funzione aggiungendole a un file di progetto denominato composer.json. Per saperne di più, consulta Specificare le dipendenze in PHP.