Исключение "не удалось найти драйвер" при миграции в 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" исправил эту ошибку, поэтому вам, вероятно, не хватает расширения.