Yii2 异常 'yii\db\Exception' 消息 'could not find driver'
Yii2 exception 'yii\db\Exception' with message 'could not find driver'
我有一个高级的 yii2 模板。我正在尝试创建一个控制台命令。
我创建了一个控制器 class 和 action incide console/controllers 文件夹:
namespace console\controllers;
use yii\console\Controller;
class WorkModelController extends Controller
{
public function actionValidate(){}
}
我的操作应该连接 mysql 数据库,select 一些数据并用它做一些事情。当我 运行 命令:yii work-model/validate 我得到这个错误:
C:\OSPanel\domains\localhost>yii work-model/validate Exception
'yii\db\Exception' with message 'could not find driver'
in
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',
],
];
当我尝试从应用程序的另一部分连接到数据库时一切正常,但是当我尝试从控制台连接时出现此错误。
请帮我解决这个错误。
尝试从 cli 运行 php -me
并确保 pdo_mysql 在那里..
如果没有,那么你需要从你的 php.ini 配置中启用它。
有时,当您使用 lamp/xampp 等服务器堆栈时,您可能错过了重新同步您的环境路径以使用相同版本的 php.ini
服务器堆栈。为此,您可以简单地从浏览器的 phpinfo() 和来自 cliphp -i 的 check/compare php.ini 路径
我有一个高级的 yii2 模板。我正在尝试创建一个控制台命令。 我创建了一个控制器 class 和 action incide console/controllers 文件夹:
namespace console\controllers;
use yii\console\Controller;
class WorkModelController extends Controller
{
public function actionValidate(){}
}
我的操作应该连接 mysql 数据库,select 一些数据并用它做一些事情。当我 运行 命令:yii work-model/validate 我得到这个错误:
C:\OSPanel\domains\localhost>yii work-model/validate Exception 'yii\db\Exception' with message 'could not find driver'
in 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',
],
];
当我尝试从应用程序的另一部分连接到数据库时一切正常,但是当我尝试从控制台连接时出现此错误。
请帮我解决这个错误。
尝试从 cli 运行 php -me
并确保 pdo_mysql 在那里..
如果没有,那么你需要从你的 php.ini 配置中启用它。
有时,当您使用 lamp/xampp 等服务器堆栈时,您可能错过了重新同步您的环境路径以使用相同版本的 php.ini
服务器堆栈。为此,您可以简单地从浏览器的 phpinfo() 和来自 cliphp -i 的 check/compare php.ini 路径