2015-05-10 25 views
5

Questa mia analisi dello stack:Eccezione 'non riusciva a trovare il driver', mentre la migrazione in yii2

Exception 'yii\db\Exception' with message 'could not find driver' 

in /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Connection.php:534 

#0 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Connection.php(836): yii\db\Connection->open() 
     #1 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Connection.php(823): yii\db\Connection->getMasterPdo() 
     #2 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(208): yii\db\Connection->getSlavePdo() 
     #3 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(816): yii\db\Command->prepare(true) 
     #4 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(350): yii\db\Command->queryInternal('fetchAll', NULL) 
     #5 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(198): yii\db\Command->queryAll() 
     #6 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(97): yii\db\mysql\Schema->findColumns(Object(yii\db\TableSchema)) 
     #7 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Schema.php(140): yii\db\mysql\Schema->loadTableSchema('migration') 
     #8 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(121): yii\db\Schema->getTableSchema('{{%migration}}', true) 
     #9 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(610): yii\console\controllers\MigrateController->getMigrationHistory(NULL) 
     #10 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(102): yii\console\controllers\BaseMigrateController->getNewMigrations() 
     #11 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0) 
     #12 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array) 
     #13 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Controller.php(151): yii\base\InlineAction->runWithParams(Array) 
     #14 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Controller.php(91): yii\base\Controller->runAction('', Array) 
     #15 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Module.php(455): yii\console\Controller->runAction('', Array) 
     #16 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Application.php(161): yii\base\Module->runAction('migrate', Array) 
     #17 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Application.php(137): yii\console\Application->runAction('migrate', Array) 
     #18 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request)) 
     #19 /opt/lampp/htdocs/advanced/yii(31): yii\base\Application->run() 
     #20 {main} 

Sono nuovo di yii2. Ho aggiunto il nome del database, nome utente in advaced/common/config/main-local.php. L'utilizzo del server web xampp e della versione di php è 5.6.8 e anche PDO è abilitato.

Questa è la mia configurazione di db.

'db' => [ 
     'class' => 'yii\db\Connection', 
     'dsn' => 'mysql:host=localhost;dbname=yii2advanced', 
     'username' => 'root', 
     'password' => '', 
     'charset' => 'utf8', 
    ], 
+0

possibile duplicato di [PDOException "impossibile trovare il driver"] (http://stackoverflow.com/questions/2852748/pdoexception-could-not-find-driver) – arogachev

risposta

8

Trovato questo su Yii2

"Molto probabilmente è la vostra configurazione del sistema. Se si utilizza pacchetti come MAMP, XAMPP o altro, potrebbe essere necessario modificare 'localhost' per " 127.0.0.1 "nel file di configurazione di db.php Anche se si è su Linux , potrebbe essere necessario installare altri pacchetti aggiuntivi come php5-mysql e cose del genere."

+1

Grazie, sto usando ubuntu, installato php5- mysql e ha funzionato dopo aver cambiato il nome host in un indirizzo IP ... – akhil

+0

Felice di averlo aiutato. –

+0

sto usando Windows XP, anche se passo a 127.0.0.1 invece di localhost lo stesso problema esiste, per tua informazione ho PHP 7.0.2 Versione nel mio sistema – senthil

1

Ho avuto esattamente lo stesso errore. Cercando, ho trovato un commento brasiliano riguardante un problema simile causato dal fatto che aveva due diverse versioni di php installate nel suo computer.

Ho controllato la directory/opt/lampp/bin e ho trovato due diverse versioni di php, una semplicemente "php" e l'altra "php-5.6.8", quindi ho deciso di eseguire la seconda versione, e lavori!

test @ pctest: ~ $ /opt/lampp/bin/php-5.6.8/opt/lampp/htdocs/avanzate/Yii migrare

5

ho avuto una situazione simile durante la migrazione Yii2 (Advanced) (XAMPP in Ubuntu 14.04 e PHP)

questo è il messaggio che ho: Exception 'Yii \ db \ Exception' con il messaggio 'non riusciva a trovare il driver'

Così dopo googling e la lettura di questa discussione e altri I ho scoperto che potrebbe essere il possibile problema

l'estensione PHP "pdo_mysql" è stato disattivato o non è installato affatto

e provato questo:

al mio terminale: php -m

dopo si rendono conto che il modulo non era lì ... sudo apt-get install php5-gd php5-mysql

e dopo una rapida installazione del servizio deve essere riavviato ... sudo/opt/lampp/lampp riavvio

.... infine (riprovare la migrazione) php yii migrare

Migrazione riuscita.

Spero che trovi utile & lavoro per gli altri.

L'ho trovato a chiedere ubuntu ma non sono in grado di aggiungere un collegamento o codice, poiché questo è il mio primo post.

link: http://www.yiiframework.com/forum/index.php/topic/49450-error-on-migrate-command-advanced-yii2-app/

0

ho avuto lo stesso errore, ma invece di XAMPP che ho usato Fedora 25 con Apache, per me 'DNF installare -y php-mysqlnd' risolto questo errore, così si sono probabilmente manca estensione.

+0

Questa non sembra una risposta alla domanda. Una volta che hai [reputazione] sufficiente (http://stackoverflow.com/help/whats-reputation) sarai in grado di [commentare] (http://stackoverflow.com/help/privileges/comment) su qualsiasi post. Controlla anche questo [cosa posso fare invece] (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead). – thewaywewere

Problemi correlati