docker-php-ext-install
は、PHPの公式Dockerイメージに含まれるユーティリティスクリプトで、PHPの拡張モジュールを簡単にインストールするために使用されます。このスクリプトを使うことで、PHPのソースコードから特定の拡張モジュールをビルドしてインストールするプロセスが簡略化されます。
概要
PHPは、さまざまな機能を提供するために拡張モジュール(Extensions)を使用します。これらのモジュールはデフォルトで組み込まれている場合もあれば、手動でインストールする必要がある場合もあります。docker-php-ext-install
は、このインストール作業を効率化するツールです。
php – Official Image | Docker Hub
https://hub.docker.com/_/php
使用方法
- Dockerfile 内で使用
docker-php-ext-install
を使ってPHPの拡張をインストールするには、公式PHPイメージをベースにしたDockerfile
内で以下のように記述します。
FROM php:8.3-cli
# 必要なライブラリをインストール
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install gd
- 基本構文
docker-php-ext-install <拡張モジュール名>
例: mysqli
をインストールする場合
docker-php-ext-install mysqli
主な用途
- PHP拡張モジュールのインストール
PHPにはさまざまな拡張機能があり、docker-php-ext-install
でそれらを有効化できます。
例:
docker-php-ext-install pdo pdo_mysql mysqli
- 拡張モジュールのカスタマイズ
一部の拡張モジュールはインストール前に設定が必要です。これにはdocker-php-ext-configure
を使用します。
例:gd
モジュールのインストール
RUN docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install gd
注意点
- 依存パッケージのインストールが必要
一部の拡張モジュール(例:gd
、intl
など)は、ビルド時に必要なシステムライブラリが存在しないとエラーになります。その場合、事前にapt-get
などを使って必要なライブラリをインストールする必要があります。 例:intl
モジュールのインストール
RUN apt-get update && apt-get install -y libicu-dev \
&& docker-php-ext-install intl
- Docker公式PHPイメージ限定
docker-php-ext-install
はPHPの公式Dockerイメージ専用のスクリプトです。他のカスタムイメージでは利用できない場合があります。 - PHPバージョンに依存する拡張
一部の拡張は、PHPのバージョンによって使用できるかどうかが異なります。PHPのバージョンを確認し、対応する拡張をインストールしてください。
よく使われる拡張例
拡張モジュール | 機能例 |
---|---|
pdo_mysql | MySQLデータベースのPDOサポート |
mysqli | MySQLデータベースの手動操作サポート |
gd | 画像操作ライブラリ(生成や編集など) |
intl | 国際化機能(日時フォーマット、翻訳など) |
zip | ZIPアーカイブの操作 |
soap | SOAPプロトコルサポート |