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を利用できるコンテナが立ち上がるようになるはずだ。