Il runtime PHP

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
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22 (valore predefinito)
  • google-22-full
  • google-22/php82
  • 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 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:

    1. Nella console Google Cloud, vai alla pagina Cloud Run:

      Vai a Cloud Run

    2. Fai clic su Scrivi una funzione.

    3. Nell'elenco Runtime, seleziona una versione del runtime PHP.

    4. Fai clic su Crea e attendi che Cloud Run crei il servizio utilizzando una revisione segnaposto.

    5. 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:

    
    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

    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.