O tempo de execução do PHP
A sua função do Cloud Run é executada num ambiente que consiste numa versão do sistema operativo, além de pacotes de suplementos, suporte de idiomas e a biblioteca Functions Framework que suporta e invoca a sua função. Este ambiente é identificado pela versão do idioma e é conhecido como o tempo de execução.
Estes tempos de execução usam nginx
e PHP-FPM
para publicar pedidos. Para saber mais
sobre os tempos de execução em geral e saber que versão do Ubuntu cada tempo de execução do PHP
usa, consulte o ambiente de execução das funções do Cloud Run.
Selecione o tempo de execução
As funções do Cloud Run suportam várias versões do PHP, listadas na página Suporte de tempo de execução. Pode selecionar o tempo de execução do PHP preferido para a sua função durante a implementação.
gcloud
Se estiver a usar a Google Cloud CLI, especifique o tempo de execução com o parâmetro --runtime
. NAME especifica o nome da função. Por exemplo:
gcloud functions deploy NAME --no-gen2 --runtime php82 --trigger-http
Para mais parâmetros de implementação, consulte o artigo Implemente uma função do Cloud Run.
Consola
Se estiver a usar a Google Cloud consola, consulte o Google Cloud início rápido da consola para ver instruções detalhadas.
Preparação da função
Pode preparar uma função diretamente a partir da Google Cloud consola ou escrevê-la no seu computador local e carregá-la. Para preparar o seu computador local para o desenvolvimento em PHP, consulte o artigo Usar PHP no Google Cloud.
A biblioteca que invoca a sua função é o Framework de funções PHP.
Estrutura do código-fonte
Para que as funções do Cloud Run encontrem a definição da sua função, o código fonte tem de seguir uma estrutura específica. Consulte o artigo Escrever funções do Cloud Run para mais informações.
Configuração do PHP
Configura a sua função PHP com um ficheiro php.ini
no diretório raiz da função. Pode ver as definições de configuração do PHP existentes com a função
phpinfo()
, conforme mostrado no seguinte exemplo de código:
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 '';
}
Especificar dependências
Especifica as dependências da sua função adicionando-as a um ficheiro de projeto denominado composer.json
. Para mais informações, consulte o artigo Especificar dependências em PHP.