Исключение "не удалось найти драйвер" при миграции в yii2

Это моя трассировка стека:

  Exception 'yiidbException' 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): yiidbConnection->open()
        #1 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Connection.php(823): yiidbConnection->getMasterPdo()
        #2 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(208): yiidbConnection->getSlavePdo()
        #3 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(816): yiidbCommand->prepare(true)
        #4 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Command.php(350): yiidbCommand->queryInternal('fetchAll', NULL)
        #5 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(198): yiidbCommand->queryAll()
        #6 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/mysql/Schema.php(97): yiidbmysqlSchema->findColumns(Object(yiidbTableSchema))
        #7 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/db/Schema.php(140): yiidbmysqlSchema->loadTableSchema('migration')
        #8 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/MigrateController.php(121): yiidbSchema->getTableSchema('{{%migration}}', true)
        #9 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(610): yiiconsolecontrollersMigrateController->getMigrationHistory(NULL)
        #10 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(102): yiiconsolecontrollersBaseMigrateController->getNewMigrations()
        #11 [internal function]: yiiconsolecontrollersBaseMigrateController->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): yiibaseInlineAction->runWithParams(Array)
        #14 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Controller.php(91): yiibaseController->runAction('', Array)
        #15 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Module.php(455): yiiconsoleController->runAction('', Array)
        #16 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Application.php(161): yiibaseModule->runAction('migrate', Array)
        #17 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/console/Application.php(137): yiiconsoleApplication->runAction('migrate', Array)
        #18 /opt/lampp/htdocs/advanced/vendor/yiisoft/yii2/base/Application.php(375): yiiconsoleApplication->handleRequest(Object(yiiconsoleRequest))
        #19 /opt/lampp/htdocs/advanced/yii(31): yiibaseApplication->run()
        #20 {main}

Я новичок в yii2. Я добавил имя базы данных,имя пользователя advaced/common/config/main-local.php. Использование веб-сервера xampp и версии php составляет 5.6.8, а PDO также включен.

Это моя конфигурация БД.

'db' => [
        'class' => 'yiidbConnection',
        'dsn' => 'mysql:host=localhost;dbname=yii2advanced',
        'username' => 'root',
        'password' => '',
        'charset' => 'utf8',
    ],

4 ответов


нашел на коде с Yii2

"скорее всего это конфигурации системы. Если вы используете пакеты MAMP, XAMPP или другой, вам может потребоваться изменить "localhost" на "127.0.0.1" в вашей БД.конфигурационный файл php. Также, если вы находитесь на Linux, вам может потребоваться установить некоторые другие дополнительные пакеты php5-mysql и тому подобное."


у меня была аналогичная ситуация во время миграции Yii2 (Advanced) (Xampp в Ubuntu 14.04 и PHP)

вот сообщение, которое я получил:

исключение "yii\db\Exception" с сообщением "не удалось найти драйвер"

Итак, после гугления и чтения этой темы и других я узнал, что может быть возможной проблемой

расширение PHP "pdo_mysql" было отключено или не установлено вообще

и попробовал это на мой терминал:

php -m

после того, как поняли, что модуля там не было...

sudo apt-get install php5-gd php5-mysql

и после быстрой установки служба должна быть перезапущена...

sudo /opt/lampp/lampp restart

....наконец (повторная миграция)

php yii migrate

успешно мигрировали вверх.

надеюсь, вы найдете его полезным и работать для других.

Я нашел его по Ubuntu, но я не могу добавить ссылку или код, так как это мой первый пост.

ссылка: http://www.yiiframework.com/forum/index.php/topic/49450-error-on-migrate-command-advanced-yii2-app/


У меня была точно такая же ошибка. Поиск, я нашел бразильский комментарий относительно аналогичной проблемы, вызванной тем, что у него было две разные версии php, установленные на его компьютере.

Я проверил каталог /opt/lampp/bin и нашел две разные версии php, одну просто "php", а другую "php-5.6.8", поэтому я решил запустить вторую версию, и она работает!

тест@pctest:~$ / opt/lampp/bin /php-5.6.8/opt/lampp/htdocs/advanced / Yii миграция


У меня была такая же ошибка, но вместо xampp я использовал Fedora 25 с Apache, для меня "dnf install-y php-mysqlnd" исправил эту ошибку, поэтому вам, вероятно, не хватает расширения.