Dockerで立ち上げたPHP7.4 + PostgreSQL9.6の環境で、PDOを利用してDB接続をおこなった時、下記のエラーが発生した。
could not find driver
DockerのphpコンテナにPDOドライバーがインストールされていないことが原因で、今回はDockerfileを使ってPDO(pdo_pgsql)をインストールする方法を紹介する。
Dockerファイル
phpのDockerfileに以下のコードを記述する。
1 2 3 4 | 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を利用できるコンテナが立ち上がるようになるはずだ。