php-mime-mail-parser を Laravel Sail にインストールする

Laravelのsail でphp-mime-mail-parserを使いたくなりましたので方法をメモしておきます。

以前のこれと似ているのですが、必要なライブラリをDocker内のコンテナに恒久的にインストールできないので

こちらの記事で行ったように、ちゃんとDockerfileに設定を追加してあげます。

Sailの設定ファイルを書き出し

sail artisan sail:publish

[ docker ]ディレクトリがプロジェクト内に作成し、vendorディレクトリ内のSailの設定ファイルがコピーされます。

Dockerfileを変更

vi ./docker/8.1/Dockerfile

など、環境に必要なバージョンのファイルを開き、

    && apt-get install -y php8.1-cli php8.1-dev \
       php8.1-pgsql php8.1-sqlite3 php8.1-gd \
       php8.1-curl \
       php8.1-imap php8.1-mysql php8.1-mbstring \
       php8.1-xml php8.1-zip php8.1-bcmath php8.1-soap \
       php8.1-intl php8.1-readline \
       php8.1-ldap \
       php8.1-msgpack php8.1-igbinary php8.1-redis php8.1-swoole \
       php8.1-memcached php8.1-pcov php8.1-xdebug \
       php8.1-mailparse \

こんな感じで、php8.1-mailparse を追記しました。

コンテナを再構築

sail build --no-cache

で、再構築を行うと、

$sail php -i | grep mailparse 
/etc/php/8.1/cli/conf.d/25-mailparse.ini,
mailparse
mailparse support => enabled
mailparse.def_charset => us-ascii => us-ascii

ちゃんとインストールされてました。

sail経由でphp-mime-mail-parserをインストール

$sail composer require php-mime-mail-parser/php-mime-mail-parser

これで完了です。