PhpRedis 6系での変更点とLaravelのサポート覚書
こんにちは、ナカエです。 まだ暑い日もありますが、だいぶ秋めいてきましたね。
本日の記事は9月上旬にリリースされた PhpRedis の6.0とLaravelの対応についての覚書です。
RedisClusterクラス定数の除去
昨年PhpRedis拡張のバージョンをうっかり固定していなかったプロジェクトで、
the constant RedisCluster::OPT_PREFIX is not defined.
というエラーに遭遇した事がありました。
GitHubのIssueでバグではないか?と確認したところ、次のメジャーバージョンアップで変更が入るという回答をいただきました。
PhpRedis 5系まではRedisクラスとRedisClusterクラスに同じ定数が定義されていたのですが、5→6でこの重複した定数をRedisClusterクラスから取り除くとのことです。
一旦PhpRedisを5系の最新に固定することで事なきを得ていました。
Laravelの対応
PhpRedis 6系のリリースが今月上旬ですが、Laravelは素早く対応したようです。
こちらのPR [10.x] Support for phpredis 6.0.0 のRedisClusterクラスの定数をすべてRedisクラスの定数に修正する変更がマージされ、既に バージョン 10.23.0 でリリースされています。
まとめ
Laravelを通してPhpReidsを使っている場合はRedisClusterの定数を直接利用していることはあまりないと思われるので、Laravel10系で運用しているプロジェクトは様子を見てLaravelとPhpRedisのバージョンを上げても良さそうですね。
手でDockerfileを書いたりしているとついつい忘れがちですが、PHP拡張のバージョンは明示的に指定しておきましょう。