Yii2 异常 'yii\db\Exception' 带有消息“找不到驱动程序”

Mr.*_*aff 1 php database console config yii2

我有一个高级 yii2 模板。我正在尝试创建一个控制台命令。我创建了一个控制器类和操作包含控制台/控制器文件夹:

namespace console\controllers;

use yii\console\Controller;

class WorkModelController extends Controller
{
    public function actionValidate(){}
}
Run Code Online (Sandbox Code Playgroud)

我的操作应该与 mysql 数据库连接,选择一些数据并用它做一些事情。当我运行命令时:yii work-model/validate 我收到这个错误:

C:\OSPanel\domains\localhost>yii work-model/validate Exception 'yii\db\Exception' 带有消息“找不到驱动程序”

在 C:\OSPanel\domains\localhost\vendor\yiisoft\yii2\db\Connection.php:56

我的 console/config/main.php 和 main-local.php 文件包含下一个 db-config:

'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=dbname',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],
];
Run Code Online (Sandbox Code Playgroud)

当我尝试从应用程序的另一部分连接到数据库时一切正常,但是当我尝试从控制台连接时出现此错误。

请帮我解决这个错误。

小智 6

尝试php -me从 cli运行并确保 pdo_mysql 在那里..如果没有,那么你需要从你的 php.ini 配置中启用它。

有时,当您使用诸如 lamp/xampp 之类的服务器堆栈时,您可能会错过重新同步您的环境路径以使用相同版本的php.ini服务器堆栈。为此,您可以简单地检查/比较来自浏览器的 phpinfo() 和来自 cli 的 php -i 的 php.ini 路径