LoginSignup
4
4

More than 3 years have passed since last update.

VercelでLaravelを動かす

Posted at

最初にまとめ

「データベースを使わない規模のちょっとしたLaravelアプリを無料で動かして公開するならVercelはちょうどいい」
なんだかんだで動かせるのがPHPのメリット。

本格的に使うなら「Laravel公式のサーバーレス」Vaporを使ったほうがいい。
https://vapor.laravel.com/

残りはここに書いてることとほとんど同じ。
https://github.com/invokable/laravel-vercel

動かし方

必要なファイルはvercel.jsonapi/index.php

これを参考にすればいいけどvercel.jsonが少し違う。
https://github.com/juicyfx/vercel-examples/tree/master/php-laravel

動くVIEW_COMPILED_PATHはこれ。

"VIEW_COMPILED_PATH": "/tmp"

東京リージョンで使うには

"regions": ["hnd1"],

Databases

AWSのRDSなどが使える。

Authentication

DBが使えるならLaravelの認証が使えるはず。

Realtime

Pusherが使えそうだけどVercelで動かすLaravelではやらないことかも。

Cron

VercelのドキュメントではGitHub Actionsで定期的にリクエストを送るとか書いてるけど
GitHub Actions使うならGitHub Actionsでartisanコマンドを実行すればいいだけなのでLaravelでは関係ない話。

Email

https://vercel.com/docs/solutions/email
SESなどが使える。

File Storage & Uploads

https://vercel.com/docs/solutions/file-storage
S3などが使えるはず。

Vercelで難しそうなのはキューワーカーやHorizonをずっと動かし続ける部分?
個人的にはそこが一番重要。

デプロイ時のartisanコマンド

composer scriptsにvercelを作ればデプロイ時に実行されるのでキャッシュやマイグレーションはこれでできそう。

    "scripts": {
        "vercel": [
            "@php artisan config:cache",
            "@php artisan route:cache",
            "@php artisan view:cache"
        ]
    }

セッション

databaseかcookieを使う。

Livewireを使うならセッションが必須。DBなしならcookieを使えばいい。

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4