以下サイトに沿ってやっています。
公式Installation
Run Laravel on Google App Engine Flexible Environment
前提
- php 7.1.3以上
phpbrewなどを利用する。 - composerがインストール済み
ライブラリ依存を整理するツール。欲しいライブラリAを取ってきたらさらにライブラリBが必要で... みたいな煩雑さを任せられる。 - gcpのプロジェクトを持っていて、gcloudコマンドとか使える。
laravelプロジェクトを作成する(方法1)
- laravelコマンドのインストール
composer global require "laravel/installer"
- パスを通す
.bashrcやconfig.fishに以下を追記
# bash
export PATH=$PATH:~/.composer/vendor/bin/
# fish
set -x PATH ~/.composer/vendor/bin/ $PATH
- laravelプロジェクト作成
laravel new blog
laravelプロジェクトを作成する(方法2)
composer create-project --prefer-dist laravel/laravel blog
local環境を構築してブラウザにアクセスしてみる
cd blog
composer install
# composerでlaravelプロジェクトをインストールしていない場合はここで(php artisan key:generate)
cp -p .env.example .env
php artisan serve
http://localhost:8000
にアクセスし、Laravelページが表示されれば成功。
GAEに展開する
- app.yamlファイルを作成。
以下をapp.yamlとしてlaravelプロジェクトのルートディレクトリに置く。ここではblog以下。
runtime: php
env: flex
runtime_config:
document_root: public
# Ensure we skip ".env", which is only for local development
skip_files:
- .env
env_variables:
# Put production environment variables here.
APP_LOG: errorlog
APP_KEY: YOUR_APP_KEY
STORAGE_DIR: /tmp
- YOUR_APP_KEYの置き換え
php artisan key:generate --show
で取得できるキーをapp.yamlのYOUR_APP_KEYと置き換える。
- composer.jsonに追記する
blog以下のcomposer.jsonのscriptsに以下を追記。
"post-install-cmd": [
"chmod -R 755 bootstrap\/cache",
"php artisan cache:clear"
]
- 展開してアクセス
gcloud app deploy
展開が完了すると、
http://YOUR_PROJECT_ID.appspot.com
みたいなurlが表示されると思うのでアクセスし、laravelページが表示されていれば成功。