GAミント至上主義

Web Monomaniacal Developer.

PHPの公式Docker alpine環境でphpredisをインストールする(公式ドキュメント通り)

結論

公式ドキュメント通りpcelで入る。

FROM php:7.2-fpm-alpine

RUN pecl install redis && \
         docker-php-ext-enable  redis

git cloneとかいらない。

概要

Laravel 5.6から6にアップデートした際(自分はやってない)、推奨のRedisのクライアントがこれまで使ってたpredisから、phpredisに変更された。

「phpredis docker」でググるとdocker-php-ext-installで入れられないから、git cloneで取ってくるという内容の、ちょっと古い記事ばかり出てきた。

f:id:uyamazak:20200312192055p:plain

PHPオフィシャル Dockerコンテナに redis exension を追加するメモ - Qiita

PHPのオフィシャルDockerイメージにredis exensionを追加する方法 - Qiita

alpine版のPHP公式Dockerfileを使ってphpredisを入れる - Qiita


今の時代そんなわけなかろう、せっかくalpineでイメージサイズ小さくしてるにこれだけのためにgit入れたり消したりしたくないわ、と思いながらphpredis公式のドキュメントを読んでみた。

github.com

一番上に書いてあるインストール方法がこれ。

pecl install redis

冒頭のようにalpineのPHP公式イメージを元にしたDockerfileに書いたら問題なく動いた。

Laravelのドキュメント(公式の翻訳?)にもPECLで入れろって出てきてる。
Redis 6.x Laravel

LaravelでRedis使用するには、PECLを使用してPhpRedis PHP拡張をインストールすることを推奨します。

当時の状況は分からないけど、明らかによろしくない方法が書いてある記事ばっかり、しかもQiitaばっかり上位に出る状況はよろしくない。

同時期のstack overflowの記事は大丈夫だった。これがqiitaスパムか

How to install php-redis extension using the official PHP Docker image approach? - Stack Overflow


まず第一に公式ドキュメント。次にstack overflow。大切。

PHPフレームワークLaravel入門 第2版

PHPフレームワークLaravel入門 第2版

速習 Laravel 6 速習シリーズ

速習 Laravel 6 速習シリーズ