【问题标题】:Yii2 php yii migrationYii2 php yii 迁移
【发布时间】:2017-04-20 21:05:39
【问题描述】:

我刚刚使用 xampp 在 linux mint 上安装了 yii2,但我的 php yii migrate 不起作用。

basic # php yii migrate
Yii Migration Tool (based on Yii v2.0.10)

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

in /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/Connection.php:549

Stack trace:
#0 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/Connection.php(863): yii\db\Connection->open()
#1 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/Connection.php(850): yii\db\Connection->getMasterPdo()
#2 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/Command.php(219): yii\db\Connection->getSlavePdo()
#3 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/Command.php(894): yii\db\Command->prepare(true)
#4 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/Command.php(362): yii\db\Command->queryInternal('fetchAll', NULL)
#5 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/mysql/Schema.php(198): yii\db\Command->queryAll()
#6 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/mysql/Schema.php(97): yii\db\mysql\Schema->findColumns(Object(yii\db\TableSchema))
#7 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/db/Schema.php(147): yii\db\mysql\Schema->loadTableSchema('migration')
#8 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/console/controllers/MigrateController.php(199): yii\db\Schema->getTableSchema('{{%migration}}', true)
#9 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(771): yii\console\controllers\MigrateController->getMigrationHistory(NULL)
#10 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/console/controllers/BaseMigrateController.php(135): yii\console\controllers\BaseMigrateController->getNewMigrations()
#11 [internal function]: yii\console\controllers\BaseMigrateController->actionUp(0)
#12 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/base/InlineAction.php(55): call_user_func_array(Array, Array)
#13 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/base/Controller.php(154): yii\base\InlineAction->runWithParams(Array)
#14 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/console/Controller.php(128): yii\base\Controller->runAction('', Array)
#15 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/base/Module.php(454): yii\console\Controller->runAction('', Array)
#16 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction('migrate', Array)
#17 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction('migrate', Array)
#18 /opt/lampp/htdocs/basic/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#19 /opt/lampp/htdocs/basic/yii(20): yii\base\Application->run()
#20 {main}

【问题讨论】:

标签: exception yii2 migrate


【解决方案1】:

您缺少php-mysqlphp-mysqlnd
运行这个

apt-get install php-mysql

更新
yii 中还有一个 requirements.php 文件。您可能想检查一下,看看您的系统到底缺少什么。可能是pdo-mysql

无论哪种方式,请检查要求和 phpinfo()。查看您需要什么,并确保您已正确安装和配置它

【讨论】:

  • 仅当 OP 想使用 MySQL 时。
  • 我是 yii 2 的新手,遇到这样的错误,所以我无法理解发生了什么。在我的装有 Windiws 10 的家用 PC 上一切正常,在这台装有 linux mint ... idk 的 PC 上 :(
  • @Bizley yii2/db/mysql/Schema 确实出现在他的堆栈跟踪中,所以这就是假设的来源
【解决方案2】:

就像错误消息状态一样 - 没有安装数据库驱动程序。选择您的数据库并安装正确的驱动程序。

【讨论】:

    【解决方案3】:

    这是问题的解决方案... yiisitenamne/backend/common/config 查找 php 文件 main-local.php 更改“localhost -> 127.0.0.1”

    【讨论】:

      【解决方案4】:

      你在使用 Virtualbox 吗?

      看来你错过了安装php-mysql

      apt-get install php-mysql
      

      然后运行迁移命令

      php console/yii migrate/up or
      
      php console/yii migrate
      

      【讨论】:

        【解决方案5】:

        我猜这是因为缺少 PDO 驱动程序。根据您使用的数据库,您可能希望在 XAMPP php.ini 中启用 pdo-mysql、pdo-mssql、pdo-postgres ...。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-09-01
          • 2015-10-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-09-12
          相关资源
          最近更新 更多