LoginSignup
1
1

More than 1 year has passed since last update.

Docker環境でDBに接続するとcould not find driverが出たときの対処方法

Last updated at Posted at 2021-11-15

DBに接続する処理を作成

<?php
define('DB_NAME', 'データベース名');
define('USER_NAME', 'ユーザー名');
define('USER_PASS', 'パスワード');

try {
  $pdo = new PDO(
    DB_NAME,
    USER_NAME,
    USER_PASS,
    [
      PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
      PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ,
      PDO::ATTR_EMULATE_PREPARES => false
    ]
  );
} catch (PDOException $e) {
  echo $e->getMessage();
  exit;
}

接続すると下記のエラーが出力された

could not find driver

ドライバが見つからないようなので現在のドライバを確認してみる

php -m | grep pdo

# pdo_sqlite

pdo_mysqlがインストールされていないのが原因らしいのでDockerFileに処理を追加する

FROM php:7.2-fpm
COPY php.ini /usr/local/etc/php/

# 追加
RUN docker-php-ext-install pdo_mysql

再度ビルドすると無事に接続できた!

参考資料【Laravel】CentOSのLAMP環境でcould not find driver

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1