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;
}
接続すると下記のエラーが出力された
ドライバが見つからないようなので現在のドライバを確認してみる
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