はじめに
Laminasで開発環境を構築しており、タイトルにもある「Connect Error: could not find driver」のエラーにはまったので共有しておきます。
エラーの原因
PDOが使用できない設定になっている。
解決方法
laminasをインストールしたとき、デフォルトのDockerfileにはoptionがコメントアウトされている。なので、オプションから「## MySQL PDO support」を探し出してコメントアウトを外す。
laminas/Dockerfile
FROM php:8.2-apache
LABEL maintainer="getlaminas.org" \
org.label-schema.docker.dockerfile="/Dockerfile" \
org.label-schema.name="Laminas MVC Skeleton" \
org.label-schema.url="https://docs.getlaminas.org/mvc/" \
org.label-schema.vcs-url="https://github.com/laminas/laminas-mvc-skeleton"
## Update package information
RUN apt-get update
## Configure Apache
RUN a2enmod rewrite \
&& sed -i 's!/var/www/html!/var/www/public!g' /etc/apache2/sites-available/000-default.conf \
&& mv /var/www/html /var/www/public
## Install Composer
RUN curl -sS https://getcomposer.org/installer \
| php -- --install-dir=/usr/local/bin --filename=composer
###
## PHP Extensisons
###
## Install zip libraries and extension
RUN apt-get install --yes git zlib1g-dev libzip-dev \
&& docker-php-ext-install zip
## Install intl library and extension
RUN apt-get install --yes libicu-dev \
&& docker-php-ext-configure intl \
&& docker-php-ext-install intl
###
## Optional PHP extensions
###
## mbstring for i18n string support
# RUN docker-php-ext-install mbstring
###
## Some laminas/laminas-db supported PDO extensions
###
## MySQL PDO support
+ RUN docker-php-ext-install pdo_mysql
## PostgreSQL PDO support
# RUN apt-get install --yes libpq-dev \
# && docker-php-ext-install pdo_pgsql
###
## laminas/laminas-cache supported extensions
###
## APCU
# RUN pecl install apcu \
# && docker-php-ext-enable apcu
## Memcached
# RUN apt-get install --yes libmemcached-dev \
# && pecl install memcached \
# && docker-php-ext-enable memcached
## MongoDB
# RUN pecl install mongodb \
# && docker-php-ext-enable mongodb
## Redis support. igbinary and libzstd-dev are only needed based on
## redis pecl options
# RUN pecl install igbinary \
# && docker-php-ext-enable igbinary \
# && apt-get install --yes libzstd-dev \
# && pecl install redis \
# && docker-php-ext-enable redis
WORKDIR /var/www
最後にapacheを再起動すれば解消した。