DockerのPHPでMySQL拡張モジュールを使う

目次

概要

Docker Hubに公開されている、PHPのイメージでMySQL拡張モジュールをインストール方法について、まとめます。

今回使用するイメージは、下記のURLのものです。

Docker

PHPについて

今回インストールするMySQL拡張モジュールは、mysql_connectやmysql_queryなどのMySQLに対して操作をすることができる関数などが定義されています。しかし、これらは、PHP7では使うことができず、代わりに、MySQLiやPDO_MySQLなどを使うことが推奨されています。

よって、PHP7では使用することができないので、ここではPHP5.6を例に説明します。

拡張モジュールのインストール

ここでは、すでにイメージの取得が終わっているものとします。

私が使用したのは、「php:5.6」です。

このイメージには、PHPの拡張モジュールをインストールするための、docker-php-ext-configuredocker-php-ext-installdocker-php-ext-enableなどのコマンドが用意されています。

なので、これらを使うことによって、簡単に追加することができます。

MySQL拡張モジュールのインストールはコンテナ内で、下記のコマンドを実行するだけです。

docker-php-ext-install mysql

もし、php5.6-apacheなどのWebサーバも一緒にインストールしてあるイメージの場合には、反映させるために、再起動する必要があるかもしれません。

このコマンドを使うと他にも、PHPの拡張モジュールをインストールできます。

例として、MySQLiや、PDO_MySQLをインストールする例をかいておきます。

docker-php-ext-install mysqli pdo_mysql

Dockerfile

最後に、これらをインストールした状態のイメージを作ることができる、Dockerfileを用意しておきます。

From php:5.6
Run apt-get update && docker-php-ext-install mysql mysqli pdo_mysql mbstring

まとめ

このコマンドがあるということにさえ気づければ、とても簡単にインストールすることができました。