PHP ランタイム

Cloud Functions の関数は、オペレーティング システムのバージョンに加えアドオン パッケージ、言語サポート、お使いの関数をサポートして呼び出す Functions Framework ライブラリで構成される環境で実行されます。この環境は言語バージョンで識別され、ランタイムとして知られています。

Cloud Functions は、次の PHP ランタイムをサポートしています。

  • PHP 8.2(推奨)
  • PHP 8.1
  • PHP 7.4

これらのランタイムは、nginxPHP-FPM を使用してリクエストを処理します。ランタイムの概要と、各 PHP ランタイムが使用する Ubuntu のバージョンについては、Cloud Functions の実行環境をご覧ください。

Cloud Functions で PHP の使用を開始するには、クイックスタートをご覧ください。

ランタイムの選択

関数を実行する PHP ランタイムは、関数をデプロイするときに指定する必要があります。PHP ランタイムを指定するには:

gcloud

Google Cloud CLI を使用している場合は、--runtime パラメータを使用してランタイムを指定します。NAME には、関数名を指定します。例:

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

その他のデプロイ パラメータについては、gcloud ツールを使用したデプロイをご覧ください。

コンソール

Google Cloud コンソールを使用している場合は、Google Cloud コンソール クイックスタートで詳しい手順をご覧ください。

関数の準備

関数は、Google Cloud コンソールから直接準備することも、ローカルマシンに作成してアップロードすることもできます。PHP 開発用にローカルマシンを準備するには、Google Cloud での PHP の使用をご覧ください。

関数を呼び出すライブラリは、PHP Functions Framework です。

ソースコードの構造

Cloud Functions が関数の定義を見つけるためには、ソースコードが特定の構造に従っている必要があります。詳しくは、Cloud Functions の作成をご覧ください。

PHP の構成

PHP の関数は、関数のルート ディレクトリにある php.ini ファイルで構成します。次のコードサンプルに示すように、既存の PHP 構成設定を phpinfo() 関数で表示できます。


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

依存関係の指定

関数の依存関係は、composer.json というプロジェクト ファイルに追加することで指定します。詳細については、PHP での依存関係の指定をご覧ください。

次のステップ