Tutorial 23 Aug 2026 1 Kali Dibaca

Cara Mengatasi Could Not Find Driver pada Laravel dan PHP

Gugun Nurdiansyah
Penulis
Cara Mengatasi Could Not Find Driver pada Laravel dan PHP

Apa Itu Could Not Find Driver?

Error biasanya terlihat seperti:

could not find driver

atau:

PDOException: could not find driver

Artinya PHP sudah mencoba menggunakan PDO, tetapi driver database yang dibutuhkan belum tersedia.

Contohnya Laravel menggunakan:

DB_CONNECTION=pgsql

tetapi PHP belum memiliki extension PostgreSQL.

1. Periksa Database yang Digunakan

Buka file .env:

DB_CONNECTION=mysql

atau:

DB_CONNECTION=pgsql

atau:

DB_CONNECTION=sqlite

Jenis database menentukan extension PHP yang harus tersedia.

2. Periksa Extension PHP

Jalankan:

php -m

Untuk mencari driver tertentu:

php -m | grep -E 'pdo|mysql|pgsql|sqlite'

Contoh hasil:

PDO
pdo_mysql

Jika menggunakan PostgreSQL, seharusnya terdapat:

PDO
pdo_pgsql
pgsql

3. Driver MySQL Tidak Ada

Untuk Ubuntu, install:

sudo apt install php-mysql

Jika menggunakan versi PHP tertentu:

sudo apt install php8.3-mysql

Kemudian restart PHP-FPM:

sudo systemctl restart php8.3-fpm

Periksa kembali:

php -m | grep pdo_mysql

Jika muncul:

pdo_mysql

driver sudah aktif.

4. Driver PostgreSQL Tidak Ada

Jika Laravel menggunakan PostgreSQL:

DB_CONNECTION=pgsql

Install extension:

sudo apt install php-pgsql

Atau versi tertentu:

sudo apt install php8.3-pgsql

Restart PHP-FPM:

sudo systemctl restart php8.3-fpm

Kemudian:

php -m | grep pgsql

Hasil yang diharapkan:

pdo_pgsql
pgsql

5. Driver SQLite Tidak Ada

Jika menggunakan SQLite:

DB_CONNECTION=sqlite

Install:

sudo apt install php-sqlite3

Kemudian:

php -m | grep sqlite

Seharusnya muncul:

pdo_sqlite
sqlite3

6. Perhatikan Versi PHP

Salah satu penyebab yang sering terjadi adalah CLI menggunakan PHP berbeda dengan PHP-FPM.

Periksa versi PHP:

php -v

Kemudian:

php --ini

Contohnya:

PHP 8.3

Tetapi website menggunakan:

PHP 8.2

Extension yang terpasang pada PHP 8.3 belum tentu tersedia pada PHP 8.2.

7. Periksa PHP-FPM

Jika Laravel berjalan melalui Nginx dan PHP-FPM, periksa service:

systemctl status php8.3-fpm

Pastikan versi PHP-FPM sesuai dengan PHP yang digunakan aplikasi.

Contohnya:

Nginx
↓
PHP 8.3 FPM
↓
Laravel

Jika extension dipasang pada PHP 8.3 tetapi Nginx menggunakan PHP 8.2, error tetap dapat muncul.

8. Gunakan phpinfo untuk Website

Buat file:

<?php

phpinfo();

Misalnya simpan sebagai:

public/info.php

Kemudian buka:

https://example.com/info.php

Cari bagian:

PDO

dan:

PDO drivers

Contohnya:

PDO drivers => mysql

Jika menggunakan PostgreSQL:

PDO drivers => pgsql

Setelah selesai melakukan pengecekan, hapus file info.php karena halaman tersebut menampilkan informasi konfigurasi server.

9. Jika Menggunakan cPanel

Pada cPanel, extension PHP biasanya dapat diaktifkan melalui:

cPanel
↓
Select PHP Version
↓
Extensions

Cari dan aktifkan:

pdo_mysql

untuk MySQL.

Untuk PostgreSQL:

pdo_pgsql
pgsql

Untuk SQLite:

pdo_sqlite
sqlite3

Nama menu dapat berbeda tergantung konfigurasi hosting.

10. Jika Menggunakan XAMPP

Pada XAMPP Windows, buka:

php.ini

Cari extension yang dibutuhkan.

Contohnya MySQL:

extension=pdo_mysql

PostgreSQL:

extension=pdo_pgsql
extension=pgsql

SQLite:

extension=pdo_sqlite
extension=sqlite3

Setelah mengubah php.ini, restart Apache pada XAMPP.

Kemudian cek:

php -m

Pastikan PHP CLI juga menggunakan PHP dari XAMPP jika aplikasi dijalankan melalui terminal.

11. Jika Menggunakan Docker

Pada Docker, extension harus tersedia di dalam container PHP.

Contoh Dockerfile:

FROM php:8.3-fpm

RUN docker-php-ext-install pdo pdo_mysql

Untuk PostgreSQL:

RUN docker-php-ext-install pdo pdo_pgsql

Setelah mengubah Dockerfile:

docker compose build --no-cache
docker compose up -d

Kemudian periksa extension:

docker compose exec app php -m

Pastikan pdo_mysql atau pdo_pgsql muncul.

12. Bersihkan Cache Laravel

Setelah driver sudah terpasang, bersihkan konfigurasi Laravel:

php artisan optimize:clear

Kemudian:

php artisan config:cache

Tes koneksi:

php artisan migrate:status

Jika berhasil, Laravel sudah dapat menggunakan driver database tersebut.

13. Pastikan .env Sesuai

Contoh MySQL:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=myapp
DB_USERNAME=myuser
DB_PASSWORD=password

PostgreSQL:

DB_CONNECTION=pgsql
DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=myapp
DB_USERNAME=myuser
DB_PASSWORD=password

SQLite:

DB_CONNECTION=sqlite
DB_DATABASE=/absolute/path/database/database.sqlite

Pastikan DB_CONNECTION sesuai dengan driver PHP yang tersedia.

14. Perbedaan Driver dan Connection Refused

Error ini berbeda dengan:

SQLSTATE[HY000] [2002] Connection refused

Could Not Find Driver

Biasanya berarti:

PHP
↓
PDO
↓
Driver tidak tersedia

Sedangkan Connection Refused berarti driver sudah tersedia, tetapi PHP tidak berhasil terhubung ke server database.

Contohnya:

PHP
↓
pdo_mysql ✓
↓
MySQL
↓
Connection ditolak

Jadi solusi keduanya berbeda.

15. Checklist Troubleshooting

Gunakan urutan berikut:

1. Cek DB_CONNECTION
       ↓
2. Cek php -v
       ↓
3. Cek php -m
       ↓
4. Pastikan driver tersedia
       ↓
5. Cek versi PHP-FPM
       ↓
6. Install extension
       ↓
7. Restart PHP-FPM / Apache
       ↓
8. php artisan optimize:clear
       ↓
9. php artisan migrate:status

Jika menggunakan Docker atau cPanel, lakukan pengecekan pada environment tempat Laravel benar-benar berjalan.

Contoh Kasus

Misalnya muncul:

PDOException:
could not find driver

Sedangkan .env:

DB_CONNECTION=pgsql

Jalankan:

php -m | grep pgsql

Jika tidak ada hasil, install:

sudo apt install php8.3-pgsql

Kemudian:

sudo systemctl restart php8.3-fpm
php artisan optimize:clear
php artisan migrate:status

Jika koneksi berhasil, masalah sudah teratasi.

Troubleshooting Laravel Bersama Ovla Media

Ovla Media dapat membantu dalam konfigurasi dan maintenance aplikasi Laravel, termasuk:

  1. Instalasi PHP extension.

  2. Konfigurasi MySQL.

  3. Konfigurasi PostgreSQL.

  4. Setup PHP-FPM.

  5. Setup Nginx.

  6. Konfigurasi cPanel.

  7. Docker Laravel.

  8. Deployment production.

  9. Optimasi server.

  10. Maintenance aplikasi Laravel.

Konfigurasi dapat disesuaikan dengan environment VPS, cPanel, Docker, maupun server internal.

Kesimpulan

Error “Could Not Find Driver” pada Laravel biasanya terjadi karena PHP belum memiliki driver database yang dibutuhkan.

Driver yang umum digunakan:

MySQL      → pdo_mysql
PostgreSQL → pdo_pgsql
SQLite     → pdo_sqlite

Langkah utama:

php -m

Kemudian install extension yang sesuai, restart PHP-FPM atau Apache, dan bersihkan cache Laravel:

php artisan optimize:clear

Terakhir, lakukan pengujian:

php artisan migrate:status

Jika driver sudah tersedia dan konfigurasi .env benar, Laravel seharusnya dapat terhubung ke database tanpa error tersebut.

#Could Not Find Driver #Laravel Error #Laravel PHP #PHP Extension #PDO Laravel #PDO MySQL #PDO PostgreSQL #Laravel MySQL #Laravel PostgreSQL #Laravel SQLite #PHP-FPM #Laravel cPanel #Laravel Docker #Laravel Production #Laravel Troubleshooting #PHP 8 #Laravel Deployment #Web Development #Ovla Media #Jasa Laravel
Beranda Produk Artikel
Konsultasi
OVLA

Navigasi Utama

Hubungi Kami

Mulai Konsultasi Sekarang