Cloud Run 関数は、オペレーティング システムのバージョンに加えて、アドオン パッケージ、言語サポート、お使いの関数をサポートして呼び出す PHP Functions Framework ライブラリで構成される環境で実行されます。この環境は言語バージョンで識別され、ランタイム ID として知られています。
関数の準備
関数は、 Google Cloud コンソールから直接準備することも、ローカルマシンで作成してアップロードすることもできます。PHP 開発用にローカルマシンを準備するには、 Google Cloudで PHP を使用するをご覧ください。
ランタイムの選択
Cloud Run functions は、サポートされている言語ランタイムとベースイメージに記載されている複数のバージョンの PHP をサポートしています。関数の優先 PHP ランタイムは、デプロイ時に選択できます。
gcloud
Cloud Run functions を使用して gcloud CLI で HTTP 関数をデプロイするには、Google Cloud CLI を使用してデプロイするをご覧ください。
Console
Google Cloud コンソールを使用している場合は、関数を作成してデプロイするときにランタイムを選択します。詳しい手順については、Google Cloud コンソール クイックスタートをご覧ください。
ソースコードの構造
Cloud Run functions が関数の定義を見つけるには、ソースコードが特定の構造に従っている必要があります。詳細については、Cloud Run 関数を作成するをご覧ください。
PHP の構成
PHP 関数を構成するには、関数のルート ディレクトリにある php.ini
ファイルを使用します。既存の PHP 構成設定は、次のコードサンプルに示すように、phpinfo()
関数を使用して表示できます。
依存関係の指定
PHP では、Composer を使用して依存関係を管理します。関数の依存関係は、composer.json
というプロジェクト ファイルに追加することで指定します。
Cloud Run functions の PHP ランタイムには、Functions Framework が明示的な依存関係として必要です。Functions Framework を依存関係として追加するには、関数コードが含まれるディレクトリで次のコマンドを実行します(このディレクトリには composer.json
ファイルも含まれている必要があります)。
composer require google/cloud-functions-framework
これにより、Functions Framework が composer.json
に追加され、パッケージが vendor/
ディレクトリにインストールされます。
autoload.php
ファイル
autoload.php
は、vendor/
ディレクトリに含まれるファイルの 1 つです。
PHP スクリプトの先頭に次の行を追加して autoload.php
ファイルを require すると、関数の他の依存関係が自動的に require
されます。
require_once __DIR__ . '/vendor/autoload.php';
デフォルトでは、デプロイ時に送信されるファイル数を減らすために、生成される .gcloudignore
ファイル内で vendor/
ディレクトリは無視されます。