PHP ランタイム
Cloud Run functions は、オペレーティング システムのバージョンに加えて、アドオン パッケージ、言語サポート、お使いの関数をサポートして呼び出す Functions Framework ライブラリで構成される環境で実行されます。この環境は言語バージョンで識別され、ランタイムとして知られています。
これらのランタイムは、nginx と PHP-FPM を使用してリクエストを処理します。ランタイム全般の詳細と、各 PHP ランタイムが使用する Ubuntu のバージョンについては、Cloud Run functions 実行環境をご覧ください。
ランタイムの選択
Cloud Run functions は、ランタイム サポートのページに記載されている複数のバージョンの PHP をサポートしています。関数の優先 PHP ランタイムは、デプロイ時に選択できます。
Google Cloud CLI を使用している場合は、--runtime パラメータを使用してランタイムを指定します。NAME には、関数名を指定します。例:
gcloud functions deploy NAME --no-gen2 --runtime php82 --trigger-http
その他のデプロイ パラメータについては、Cloud Run functions をデプロイするをご覧ください。
関数の準備
関数はローカルマシンで作成してアップロードできます。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 での依存関係を指定するをご覧ください。