オブジェクト指向とかデザインパターンとか開発プロセスとかツールとか

satoshi's ソフトウェア開発

js






当サイトはアフィリエイト広告を利用してます。

GAE Laravel

GAEでLaravelを動かす方法

更新日:


GAE(Google Apps Engine)でLaravelが動くらしいので試してみました。

Laravelプロジェクトの作成

まずは普通にLaravelプロジェクトを作成します。

% composer create-project "laravel/laravel=9" hoge

最初はバージョンを指定せずに作ってみたのですが、Laravel10では動かなかったので、Laravel9で作り直しました。

ライブラリのインストール

以下のコマンドを実行してライブラリをインストールします。

% composer require google/cloud

GAEファイルシステムに関する修正

GAEではファイルアクセス可能なパスが /tmp のみなので、その辺の指定をします。

app.ymlを作成し、以下の内容を記述します。

runtime: php81

env_variables:
    APP_KEY: (.envのAPP_KEYの内容)
    APP_STORAGE: /tmp
    VIEW_COMPILED_PATH: /tmp
    SESSION_DRIVER: cookie

bootstrap/app.php の return $app; の前に、以下の内容を追加します。

$app->useStoragePath(env('APP_STORAGE', base_path() . '/storage'));

return $app;

ローカルでの動作確認

ローカルで動かしてみて、動作することを確認します。

gcloud CLIのインストール

次はgcloud CLIをインストールします。
以下のページを参照してインストールしてください。

gcloud CLI をインストールする

GAEプロジェクトの作成

Google Cloud Console にログインし、プロジェクト選択の画面から右上の「新しいプロジェクト」をクリックして、プロジェクトを作成します。

gcloud CLI の初期化

以下のコマンドを実行してgcloud CLIを初期化します。

% gcloud init

認証するメールアドレスを聞かれたり、関連付けるプロジェクトを聞かれるので、コマンドライン上で番号で応答します。

作成したLaravelアプリのデプロイ

以下のコマンドでデプロイできます。
コマンド入力直後に続けるかを確認されるので、yを入力して継続します。
完了するまで数分かかります。

% gcloud app deploy
Services to deploy:

descriptor:                  [app.yamlのパス]
source:                      [Laravelプロジェクトのパス]
target project:              [GAEのプロジェクトID]
target service:              [default]
target version:              [20230329t180000]
target url:                  [https://プロジェクトID.appspot.com]
target service account:      [App Engine default service account]


Do you want to continue (Y/n)?  y

デプロイが完了するとこんな感じのメッセージが出ます。

Beginning deployment of service [default]...
╔════════════════════════════════════════════════════════════╗
╠═ Uploading nnnnn files to Google Cloud Storage               ═╣
╚════════════════════════════════════════════════════════════╝
File upload done.
Updating service [default]...done.
Setting traffic split for service [default]...done.
Deployed service [default] to [https://プロジェクトID.appspot.com]

You can stream logs from the command line by running:
  $ gcloud app logs tail -s default

To view your application in the web browser run:
  $ gcloud app browse

GAE上のLaravelアプリの動作確認

以下のコマンドを実行して、ブラウザで動作確認します。

% gcloud app browse







-GAE, Laravel
-, ,

Copyright© satoshi's ソフトウェア開発 , 2024 All Rights Reserved Powered by STINGER.