環境
- Docker の php:7.4.16-apache を利用
- Laravel を利用
エラー内容
[2021-08-24 10:43:16] production.ERROR: could not find driver at /app/laravel/vendor/laravel/framework/src/Illuminate/Database/Connection.php:671)
調査
この記事を見ると、この docker を使っているっぽい
infra/docker/php
以下を見てみると、 docker-php-ext-install pdo_mysql
というコマンドがポイントな気がするので、実行してみた。
Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20190902/
このディレクトリにインストールされたっぽい。
確認してみると
root@dea5e3fd7e68:/usr/local/etc/php# ls /usr/local/lib/php/extensions/no-debug-non-zts-20190902/ opcache.so pdo_mysql.so sodium.so
また、 php:7.4.16-apache の docker には、以下のような設定ファイルが配置されているが
root@dea5e3fd7e68:/usr/local/etc/php# ls conf.d php.ini-development php.ini-production
このコマンドで mysql のドライバをインストールすると、自動的に conf.d 以下に mysql の設定が配置されるので、あとは docker を再起動したりすれば、 mysql が使えるようになります。