PHP ランタイム

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

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

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

ランタイムの選択

Cloud Run functions は、ランタイム サポートのページに記載されている複数のバージョンの PHP をサポートしています。関数の優先 PHP ランタイムは、デプロイ時に選択できます。

gcloud

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

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

その他のデプロイ パラメータについては、Cloud Run functions をデプロイするをご覧ください。

コンソール

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

関数の準備

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

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

ソースコードの構造

Cloud Run functions が関数の定義を見つけるには、ソースコードが特定の構造に従っている必要があります。詳細については、Cloud Run 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 での依存関係の指定をご覧ください。

次のステップ