見出し画像

Dockerで構築したPHP7.3 + MySQLでPDO接続をする方法

could not find driverエラーが表示される。

先日DockerでPHP環境を構築しました。

早速開発をしようと思い、PHPとMySQLをPDOで接続しようとしたところ、下記のようなエラーが出ました。

スクリーンショット 2019-10-10 12.14.41

could not find driver

ん?と思ってphpinfo();で確認してみたところ、PDOのMySQLがインストールされていませんでした。

スクリーンショット 2019-10-10 12.16.37

ということでインストールします。


インストール開始

まずは下記コマンドでPHPのコンテナに入ります。

docker-compose exec php bash

次に、下記コマンドでパッケージを確認します。

pecl search pdo_mysql

下記のように表示されました。

Package Stable/(Latest) Local
PDO_MYSQL 1.0.2 (stable) MySQL driver for PDO

次に、PHPディレクトリ内のDockerfileに下記追記します。

RUN docker-php-ext-install pdo_mysql

追加後、一旦コンテナから出ます。

exit

その後、PHPディレクトリに移動します。

cd php

下記コマンドでリビルドします。

docker-compose build

その後、一旦停止し

docker-compose stop

再度起動すると

docker-compose up -d

pdo_mysqlがインストールされました!

スクリーンショット 2019-10-10 12.37.57

以上です。


--

これ発見するのに半日くらいかかってしまった。。ということで開発開始できます!


GitHubリポジトリ

今回作成したソースはGithubにて公開しています。下記リンクよりご確認ください。(L2ブランチです。)


読んでいただきありがとうございます。