Laravel on Heroku — Tip #6
Laravel by default will save sessions into a directory on disk, which isn’t ideal, because Heroku uses an ephemeral filesystem (explained in Tip #5).
You have to use another session driver. Laravel ships with several great drivers out of the box:
- Cookie
- Database
- Redis
In this example, we use Redis (personally we use always Redis, also for Cache and Queue).
- You have to change the default session driver to Redis in config/session.php:
or by setting the SESSION_DRIVER environment variable:
heroku config:set SESSION\_DRIVER=redis
- Don’t forget to add the Redis Heroku Addon:
heroku addons:create heroku-redis:hobby-dev
- Use our Tip #1 to use Heroku environment variables in your Laravel app.
That’s it, now your session will not expire again after restart or deploy 🚀
Want more tips like these?
You should follow me on Twitter! And if you’re building on Heroku, you should check out AutoIdle — the automated way to save money on your staging and review apps.
Top comments (0)