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 |
|
|
PHP 8.2 | 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:
No console do Google Cloud, acesse a página do Cloud Run:
Clique em Escrever uma função.
Na lista Ambiente de execução, selecione uma versão do ambiente de execução do PHP.
Clique em Criar e aguarde o Cloud Run criar o serviço usando uma revisão do marcador de posição.
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:
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.