Domanda

Ho installato LAMPP sul mio sistema Linux, e sto imparando Symfony2, durante il tentativo di creare lo schema con il comando Symfony2

php app/console doctrine:schema:create

Sto ottenendo il seguente messaggio di errore: -

PDOException “could not find driver”

Ho anche decommentare questa riga extension=php_pdo_mysql.dll nel file php.ini

Ho provato a cercare e Google il mio problema, ma non sono riuscito a risolvere il mio problema. quando il comando php -m ho eseguito sto ottenendo i seguenti risultati: -

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
----
----

C'è un modo per rimuovere questo problema?

È stato utile?

Soluzione

La speranza è in esecuzione il progetto in localhost. Nel progetto della cartella app / config un file chiamato parameters.ini, Assicurarsi che il cofiguration connessione al database MySQL è corretta. Se si utilizza MySQL See database_driver=pdo_mysql è il suo conducente.

Di seguito è riportato un esempio.

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

La speranza ti aiuta.

Altri suggerimenti

In Ubuntu, scrittura nella console

sudo apt-get install php5-gd php5-mysql

e funzionerà

È necessario disporre di un modulo chiamato pdo_mysql.

Cercare il seguente in uscita phpinfo(),

pdo_mysql => DOP driver per MySQL, versione della libreria client => 5.1.44

installare pdo_mysql avete bisogno di fare questo:

 pecl install pdo
 pecl install pdo_mysql

e quindi aggiungere il seguente al file php.ini:

extension=pdo.so
extension=pdo_mysql.so

brew install php70-pdo-pgsql nel caso in cui è stato installato php7 su Mac con birra e, versione di PHP cambio base a ciò che è stato installato.

Ci sono due versioni di PHP installate nel mio server PHP 5.6 e PHP 7

Quando faccio funzionare l'ordine php app/console doctrine:schema:update ho l'errore: [PDOException] could not find driver

I risolvere questo errore specificando la versione di PHP:

php5.6 app/console doctrine:schema:update

Sembra che il tuo installazione manca i file .so di cui ha bisogno per implementare la connessione mysql. Se si utilizza un sistema di gestione dei pacchetti da installare PHP quindi assicurarsi di aver installato tutti i moduli necessari (in questo caso credo che avrete bisogno di mysql-dev, ed i vari moduli PHP DOP), se tali dipendenze dovrebbero avere stato risolto per voi dal gestore di pacchetti.

Se non sei andato attraverso un gestore di pacchetti, allora si dovrà compilare il necessario .so file da sorgente.

se si utilizza XAMPP quindi in linea file php.ini no 897 (dipende dalla versione),

;extension=php_pdo_pgsql.dll 

decommentarla, allora appare come di seguito

extension=php_pdo_pgsql.dll 

in linea file php.ini no 897, quindi riavviare XAMPP.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top