Php Yii2异常“yii\db\exception”,消息为“找不到驱动程序”

Php Yii2异常“yii\db\exception”,消息为“找不到驱动程序”,php,database,yii2,console,config,Php,Database,Yii2,Console,Config,我有一个高级的yii2模板。我正在尝试创建一个控制台命令。 我已在IDE控制台/控制器文件夹中创建了控制器类和操作: namespace console\controllers; use yii\console\Controller; class WorkModelController extends Controller { public function actionValidate(){} } 我的操作应该连接mysql数据库,选择一些数据并对其进行处理。当我运行命令:yii

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

namespace console\controllers;

use yii\console\Controller;

class WorkModelController extends Controller
{
    public function actionValidate(){}
}
我的操作应该连接mysql数据库,选择一些数据并对其进行处理。当我运行命令:yii work model/validate时,我得到以下错误:

C:\OSPanel\domains\localhost>yii工作模型/验证异常 带有消息“找不到驱动程序”的“yii\db\Exception”

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

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

'components' => [
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=dbname',
            'username' => 'root',
            'password' => '',
            'charset' => 'utf8',
        ],
];
当我尝试从应用程序的另一部分连接到数据库时,一切正常,但当我尝试从控制台连接时,我收到了这个错误

请帮我解决这个错误

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

有时,当您使用lamp/xampp等服务器堆栈时,您可能会错过重新同步环境路径以使用相同版本的服务器堆栈的php.ini。为此,您只需检查/比较浏览器中phpinfo和cli中php-i的php.ini路径,并尝试从cli运行php-me,确保pdo_mysql存在。。 如果没有,那么您需要从php.ini配置中启用它


有时,当您使用lamp/xampp等服务器堆栈时,您可能会错过重新同步环境路径以使用相同版本的服务器堆栈的php.ini。要做到这一点,您只需检查/比较浏览器中phpinfo和cli中php-i的php.ini路径

只需运行apt get install php5 mysql或apt get install php7-mysql。只需运行apt get install php5 mysql或apt get install php7-mysql.Hi@kidzen我非常喜欢您的答案。我对php的版本和扩展非常反感。我只是修改了路径以使用与wampp相同的PHPV。当我运行php-v时,看起来我运行的是相同的版本,但没有看到相同的扩展。有什么想法吗?哦,谢谢,我发现了,很明显,wampp使用了两个不同的php.ini文件,一个用于服务器,一个用于php脚本。我成功了,谢谢你的提示。嗨@kidzen我真的很喜欢你的回答。我对php的版本和扩展非常反感。我只是修改了路径以使用与wampp相同的PHPV。当我运行php-v时,看起来我运行的是相同的版本,但没有看到相同的扩展。有什么想法吗?哦,谢谢,我发现了,很明显,wampp使用了两个不同的php.ini文件,一个用于服务器,一个用于php脚本。我成功了,谢谢你的提示。