Dockerで立ち上げたPHP7.4 + PostgreSQL9.6の環境で、PDOを利用してDB接続をおこなった時、下記のエラーが発生した。

could not find driver

DockerのphpコンテナにPDOドライバーがインストールされていないことが原因で、今回はDockerfileを使ってPDO(pdo_pgsql)をインストールする方法を紹介する。

Dockerファイル

phpのDockerfileに以下のコードを記述する。

FROM php:7.4-apache

RUN apt-get update && apt-get -y install libpq-dev
RUN docker-php-ext-install pdo_pgsql

ここでの注意点として、単にpdo_pgsqlをインストールしようとするとエラーが発生してしまうため、先にlibpq-devをインストールするのがポイント。

これでPostgreSQLのPDOを利用できるコンテナが立ち上がるようになるはずだ。