ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
エラー内容
|
SQLSTATE[HY000] [2002] could not find driver |
発生条件
- PHP の PDO でデータベース接続しようとしたときに発生
- Laravel / Symfony / 素の PDO どの環境でも起こりうる
- たいていは「PDO 用のドライバ拡張がインストールされていない」状態
原因
| 原因 | 解説 |
|---|---|
| 該当 PDO ドライバ拡張が無い | MySQL なら pdo_mysql、PostgreSQL なら pdo_pgsql、SQLite なら pdo_sqlite が必要 |
| php.ini で extension が無効 | インストール済みだが ;extension=pdo_mysql のようにコメントアウト |
| CLI と Web で php.ini が違う | php -m で見えても、Web (php-fpm / mod_php) 側に拡張が読み込まれていない |
| Docker イメージに拡張が含まれない | 素の php:8.x-fpm 系は最小構成。docker-php-ext-install で追加が必要 |
| DSN のドライバ名が不正 | mysq:...(タイプミス)や、想定と違うドライバを指定している |
| PHP のバージョン差 | OS 標準パッケージのバージョンが PHP 本体と合っていない |
対処手順
1. 読み込み済みドライバを確認する
|
php -m | grep -i pdo |
使いたい DSN 接頭辞 (例: mysql) が出力に含まれていれば OK です。出ない場合はインストール/有効化が必要です。
2. ドライバをインストール
| 環境 | MySQL 用 PDO | PostgreSQL 用 | SQLite 用 |
|---|---|---|---|
| Debian / Ubuntu | sudo apt install php-mysql | sudo apt install php-pgsql | sudo apt install php-sqlite3 |
| RHEL / Rocky / Alma | sudo dnf install php-mysqlnd | sudo dnf install php-pgsql | sudo dnf install php-pdo |
| Alpine | apk add php82-pdo_mysql | apk add php82-pdo_pgsql | apk add php82-pdo_sqlite |
| Docker (php image) | docker-php-ext-install pdo_mysql (Dockerfile に追記) | ||
| Windows (php.ini) | ;extension=pdo_mysql のセミコロンを外す | ||
3. Webサーバを再起動する
|
sudo systemctl restart php-fpm |
php-fpm を再起動しないと、コマンドラインだけで拡張が見える状態のまま Web 側で改善しません。
4. phpinfo で確認
Web から見える php.ini を切り分けるため、<?php phpinfo(); ?> を一時設置して、Loaded Configuration File / Additional .ini files / 該当ドライバ (pdo_mysql 等) のセクション存在を確認します。確認後は必ず削除します。
5. DSN を再確認
|
$pdo = new PDO( |
- 先頭の
mysql:等をタイプミスしていないか PDO::getAvailableDrivers()に含まれるドライバ名と一致しているか
Docker環境での例
|
FROM php:8.3-fpm-alpine |
関連エラー
SQLSTATE[HY000] [2002] Connection refused— ドライバはあるが DB に到達できないSQLSTATE[HY000] [1045] Access denied for user— 認証エラーClass 'PDO' not found— PDO 本体が無い (極端な最小構成のとき)
関連
- 親カテゴリ: エラー一覧 (PHP)
- 関連: PHP / MySQL/MariaDB
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- Fatal error: Maximum execution time of 30 seconds exceeded in...
- Fatal error: Uncaught Error: Cannot use object of type stdClass as array in ...
- Warning: Use of undefined constant ... - assumed '...' (this will throw an Error)
- ERROR: Call to undefined method Maatwebsite\Excel\Excel::load()
- Maximum execution time of 30 seconds exceeded
- Your requirements could not be resolved to an installable set of packages. ... To enable extensions, verify that they are enabled in your .ini files:
- could not find driver
- the requested PHP extension mbstring is missing from your system.
- the requested PHP extension dom is missing from your system.
- A non well formed numeric value encountered
- Warning: Cannot modify header information - headers already sent by ...
- php_network_getaddresses: getaddrinfo failed: Name or service not known
- XMLWriter::openUri(): Unable to resolve file path
- Object of class stdClass could not be converted to string
- Class 'Google_Service_Youtube' not found
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Laravel キャッシュクリア完全ガイド(cache:clear / config:clear / 2026-05-18 07:42:07
- プロジェクトの作成と削除 2026-05-18 07:42:07
- インストール直後にNetbeansが反応しない 2026-05-18 07:42:07
- 動画やチャンネルの検索 2026-05-18 07:42:07
- APIキー取得方法 2026-05-18 07:42:07
- チャンネル情報の取得 2026-05-18 07:42:07
- API 入門 — Web API(REST / GraphQL / gRPC / 2026-05-18 07:42:07
- インストール(eclipseプラグイン) 2026-05-18 07:42:07
- Laravel「Dotenv values containing spaces must be surrounded 2026-05-18 07:42:07
- エラー一覧 2026-05-18 07:42:07
- curl: (51) SSL: certificate subject name '~' does not match 2026-05-18 07:42:07
- インストール方法(Windows版) 2026-05-18 07:42:07
- JSONから配列に変換 2026-05-18 07:42:07
- 処理を一定時間待つ 2026-05-18 07:42:07
- A non well formed numeric value encountered 2026-05-18 07:42:07
コメントを削除してもよろしいでしょうか?