it-swarm.dev

PDOException "tidak dapat menemukan driver" di php

Saya telah menginstal Lampp pada sistem linux saya, dan saya belajar symfony2, ketika mencoba membuat skema dengan perintah symfony2 

php app/console doctrine:schema:create

Saya mendapatkan pesan kesalahan berikut: -

PDOException “could not find driver”

Saya juga batalkan komentar pada baris ini extension=php_pdo_mysql.dll di file php.ini

Saya mencoba mencari dan google masalah saya tetapi tidak bisa menyelesaikan masalah saya. ketika saya menjalankan perintah php -m saya mendapatkan hasil berikut: -

PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysql.so' - /usr/lib/php5/20090626+lfs/mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/mysqli.so' - /usr/lib/php5/20090626+lfs/mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pdo_mysql.so' - /usr/lib/php5/20090626+lfs/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gettext
hash
iconv
json
libxml
mbstring
mhash
openssl
pcntl
pcre
PDO
----
----

Apakah ada cara saya bisa menghapus masalah ini?

12
ScoRpion

Semoga Anda menjalankan proyek Anda di localhost. Dalam aplikasi folder proyek Anda/konfigurasi file bernama parameter.ini, Pastikan bahwa konfigurasi koneksi database MySQL Anda sudah benar. Jika Anda menggunakan mysql, lihat database_driver=pdo_mysql adalah drivernya. 

Di bawah ini adalah contohnya.

database_driver   = pdo_mysql
    database_Host     = localhost
    database_port     =
    database_name     = databasename
    database_user     = msqlusername
    database_password = mysqlpassword//if not make blank

    mailer_transport  = smtp
    mailer_Host       = localhost
    mailer_user       =
    mailer_password   =

    locale            = en

    secret            = ThisTokenIsNotSoSecretChangeIt

Semoga ini bisa membantu Anda.

7
Asish AP

Di Ubuntu, tulis di konsol

Sudo apt-get install php5-Gd php5-mysql

dan itu akan berhasil

10
ioses

Anda perlu memiliki modul bernama pdo_mysql

Carilah yang berikut dalam output phpinfo(),

pdo_mysql => Driver PDO untuk MySQL, versi pustaka klien => 5.1.44

untuk menginstal pdo_mysql Anda perlu melakukan ini:

 pecl install pdo
 pecl install pdo_mysql

dan kemudian tambahkan berikut ini ke file php.ini Anda:

extension=pdo.so
extension=pdo_mysql.so
5
Jaspreet Chahal

Ada dua versi PHP yang diinstal di server saya PHP 5.6 dan PHP 7

Ketika saya menjalankan perintah php app/console doctrine:schema:update saya memiliki kesalahan: [PDOException] could not find driver

Saya mengatasi kesalahan ini dengan menentukan versi PHP:

php5.6 app/console doctrine:schema:update
1

brew install php70-pdo-pgsql Jika Anda menginstal php7 pada mac dengan brew dan, ubah versi php sesuai dengan yang telah Anda instal.

1
Eralp Karaduman

Sepertinya instal Anda tidak memiliki file .so yang diperlukan untuk mengimplementasikan koneksi mysql. Jika Anda menggunakan sistem manajemen paket untuk menginstal PHP maka pastikan Anda telah menginstal semua submodul yang diperlukan (dalam hal ini saya pikir Anda akan memerlukan mysql-dev, dan berbagai PHP PDO modul), meskipun dependensi seperti itu seharusnya telah diselesaikan untuk Anda oleh manajer paket. 

Jika Anda tidak pergi melalui manajer paket, maka Anda harus mengkompilasi file .so yang diperlukan dari sumber. 

0
GordonM

jika Anda menggunakan XAMPP maka di file php.ini no 897 (tergantung versi),

;extension=php_pdo_pgsql.dll 

batalkan komentarnya, lalu muncul seperti di bawah ini

extension=php_pdo_pgsql.dll 

di baris file php.ini no 897, kemudian restart XAMPP.

0
Mohammad Fareed