【GCP】GAEにPHPのプロジェクトをデプロイする

はじめに

この記事はGAEにWEBアプリのプロジェクトをデプロイする方法を書いていますが、結果的に「HelloWorld」を表示するだけの「index.php」のみデプロイすることになりました。なので、同じことをやっているGAEのチュートリアルの方が断然分かりやすいです。

それでも読みたいという方はどうぞ読んでください。

Google Cloud Platform 登録

GAE(Google App Engine)を使うにはGCPGoogle Cloud Platform)に登録する必要があります。

以前、GCPの無料トライアル登録手順を書きましたのでこちらを参考にしてください。

takuyafujita.hatenablog.com

プロジェクト作成

GCPのコンソール画面からプロジェクトを作成します。

Google App Engine 設定

GCPのコンソール画面から App Engine を選択します。言語は「PHP」、リージョンは「asia-northeast1」で設定しました。

Google Cloud SDK インストール

GAEにデプロイする為にSDKが必要です。開発環境がwindowsなので、下記サイトからインストーラーをダウンロードしてインストールしました。次に行うSDKの初期化についても書いてあります。

cloud.google.com

Google Cloud SDK 初期化

下記コマンドでSDKの初期化を行います。

gcloud init

PHPプロジェクト作成

本当はHomesteadで作成したLaravelのプロジェクトをデプロイする予定でしたが、デプロイ後にエラーが出たので今回は「HelloWorld」を表示するだけのシンプルな「index.php」を作成しました。

app.yaml 作成

GAEにデプロイする為にプロジェクトの設定を記載した「app.yaml」が必要です。今回は公式ドキュメントに記載されている内容そのままで作成しました。「app.yaml」はプロジェクトのルートディレクトリに配置します。

cloud.google.com

デプロイ

デプロイしたいプロジェクト配下で下記コマンドを実行します。

gcloud app deploy

デプロイしたプロジェクトをブラウザで表示

下記コマンドでブラウザが開き、「HelloWorld」が表示されればデプロイ成功です。

gcloud app browse

まとめ

GAEへのデプロイ方法は簡単ですが、GAEの設定(スタンダードとかフレキシブルって何が違うの?)や「app.yaml」の設定内容を理解するのに時間がかかりました。
また、Laravelのデプロイでエラーになった原因は、PHPのバージョンが原因かもしれません。GAEでサポートしていない7.3を使用していた。
「app.yaml」の設定もちゃんと理解できていないので勉強しつつ再度チャレンジしてみます。