Laravel 6.x でセッションサーバーとしてredisを使おうとして、インストールや設定に少し手間取ったので、備忘録としての記録です。
環境
ubuntu 18.04
Laravel 6.20.x
前提条件
php-fpm, redisはインストール済み
インストール
まずは、peclをインストールしましょう。php-pearに含まれます。
そして、peclからphpredisのインストールです。
predisでも動作しますが、今回は公式で推奨されるphpredisをインストールしたいと思います。
LaravelでRedis使用するには、PECLを使用してPhpRedis PHP拡張をインストールすることを推奨します。インストール方法は複雑ですが、Redisをヘビーユースするアプリケーションではより良いパフォーマンスが得られます
## peclのインストール
sudo apt install php-pear
## phpredisのインストール
sudo pecl install redis
php.iniの修正
extensionの追加。
追加後、php-fpmは再起動してください。
/etc/php/7.x/fpm/php.ini
extension=redis
Laravelの設定
各設定の変更
.env
SESSION_DRIVER=redis #fileから変更
config/database.php
# redisのクライアントがphpredisになっているか確認
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
確認
webページを開いてみると、redisがセッションサーバーとして機能してるのが分かると思います。
$ redis-cli
> keys *
1) "sample_database_cache:AIn7Io8yHuhTolvAJhk5ITLdMsqXL1FqsuOTSDBl"
> get ample_database_cache:AIn7Io8yHuhTolvAJhk5ITLdMsqXL1FqsuOTSDBl
"s:198:\"a:3:{s:6:\"_token\";s:40:\"FBn1BGQlMBUXXMQBI2SDDBuvKIr31YTAyOo4X20L\";s:6:\"_flash\";a:2:{s:3:\"old\";a:0:{}s:3:\"new\";a:0:{}}s:9:\"_previous\";a:1:{s:3:\"url\";s:40:\"https://sample.com/xxx\";}}\";"
>