O ambiente de execução do PHP

A função do Cloud Run é executada em um ambiente que consiste em uma versão do sistema operacional com pacotes complementares, suporte a linguagens e a biblioteca PHP Functions Framework que dá suporte e invoca a função. Esse ambiente é identificado pela versão da linguagem e é conhecido como ID de execução.

Preparação de funções

É possível preparar uma função diretamente do console do Google Cloud ou gravá-la na máquina local e fazer upload dela. Para preparar sua máquina local para o desenvolvimento em PHP, consulte Usar PHP no Google Cloud.

Ambientes de execução e imagens de base do PHP com suporte

Ambiente de execução ID do ambiente de execução Pilhas Imagem de base do ambiente de execução
PHP 8.3 php83
  • google-22 (padrão)
  • google-22-full
  • google-22/php83
  • google-22-full/php83
  • PHP 8.2 php82
  • google-22 (padrão)
  • 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

    Selecionar o ambiente de execução

    Selecione um dos ambientes de execução do PHP com suporte para a função durante a implantação.

    É possível selecionar uma versão do ambiente de execução usando o console do Google Cloud ou a CLI gcloud. Clique na guia para conferir instruções sobre como usar a ferramenta de sua preferência:

    gcloud

    Especifique a imagem de base do PHP para a função usando a flag --base-image durante a implantação. Exemplo:

    gcloud beta run deploy FUNCTION \
        --source . \
        --function FUNCTION_ENTRYPOINT \
        --base-image php83
    

    Substitua:

    • FUNCTION pelo nome da função que você está implantando. É possível omitir esse parâmetro inteiramente, mas será solicitado o nome, se você omiti-lo.

    • FUNCTION_ENTRYPOINT: o ponto de entrada da função no código-fonte. Esse é o código que o Cloud Run executa quando é executada. O valor dessa sinalização precisa ser um nome de função ou de classe totalmente qualificada no código-fonte.

    Para instruções detalhadas sobre como implantar uma função usando a CLI gcloud, consulte Implantar funções no Cloud Run.

    Console

    É possível selecionar uma versão do ambiente de execução ao criar ou atualizar uma função do Cloud Run no console do Google Cloud. Para instruções detalhadas sobre como implantar uma função, consulte Implantar funções no Cloud Run.

    Para selecionar um ambiente de execução no console do Google Cloud ao criar uma função, siga estas etapas:

    1. No console do Google Cloud, acesse a página do Cloud Run:

      Acessar o Cloud Run

    2. Clique em Escrever uma função.

    3. Na lista Ambiente de execução, selecione uma versão do ambiente de execução do PHP.

    4. Clique em Criar e aguarde o Cloud Run criar o serviço usando uma revisão do marcador de posição.

    5. O console vai redirecionar você para a guia Origem, em que você pode ver o código-fonte da sua função. Clique em Salvar e implantar novamente.

    Para instruções detalhadas sobre como atualizar a versão do ambiente de execução depois que a função for implantada, consulte Reimplantar o novo código-fonte.

    Estrutura do código-fonte

    Para que as funções do Cloud Run encontrem a definição da sua função, seu código-fonte precisa seguir uma estrutura específica. Consulte Escrever funções do Cloud Run para mais informações.

    Configuração do PHP

    Configure a função PHP com um arquivo php.ini no diretório raiz da função. É possível visualizar as definições de configuração do PHP com a função phpinfo(), conforme mostrado no exemplo de código a seguir:

    
    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 '';
    }
    

    Como especificar dependências

    O PHP usa o Composer para gerenciar as dependências. É possível especificar dependências para a função adicionando-as a um arquivo de projeto chamado composer.json.

    O ambiente de execução PHP do Cloud Run functions exige que o Functions Framework seja uma dependência explícita. Para adicionar o Functions Framework como uma dependência, execute o seguinte comando no diretório que contém o código da função. Ele também precisa conter o arquivo composer.json:

    composer require google/cloud-functions-framework
    

    Isso adiciona o Functions Framework ao seu composer.json e instala o pacote no diretório vendor/.

    Arquivo autoload.php

    Um dos arquivos contidos no seu diretório vendor/ é autoload.php.

    Adicione a seguinte linha na parte superior dos scripts PHP para solicitar o arquivo autoload.php, que automaticamente require(solicita) as outras dependências da função:

    require_once __DIR__ . '/vendor/autoload.php';
    

    Por padrão, o diretório vendor/ é ignorado no arquivo gerado .gcloudignore para reduzir o número de arquivos enviados na implantação.