ThinkPHP中访问mysql数据库报错:could not find driver
ThinkPHP中访问mysql数据库报错:could not find driver
·
问题
我在thinkphp的config\database.php文件中已经正确地配置了要连接的mysql数据库:
<?php
return [
// 默认使用的数据库连接配置
'default' => env('DB_DRIVER', 'mysql'),
// 自定义时间查询规则
'time_query_rule' => [],
// 自动写入时间戳字段
// true为自动识别类型 false关闭
// 字符串则明确指定时间字段类型 支持 int timestamp datetime date
'auto_timestamp' => true,
// 时间字段取出后的默认时间格式
'datetime_format' => 'Y-m-d H:i:s',
// 时间字段配置 配置格式:create_time,update_time
'datetime_field' => '',
// 数据库连接配置信息
'connections' => [
'mysql' => [
// 数据库类型
'type' => env('DB_TYPE', 'mysql'),
// 服务器地址
'hostname' => env('DB_HOST', '127.0.0.1'),
// 数据库名
'database' => env('DB_NAME', 'test2'),
// 用户名
'username' => env('DB_USER', 'test_user'),
// 密码
'password' => env('DB_PASS', 'mytest_*'),
// 端口
'hostport' => env('DB_PORT', '3306'),
// 数据库连接参数
'params' => [],
// 数据库编码
'charset' => env('DB_CHARSET', 'utf8mb4'),
// 数据库表前缀
'prefix' => env('DB_PREFIX', ''),
// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
'deploy' => 0,
// 数据库读写是否分离 主从式有效
'rw_separate' => false,
// 读写分离后 主服务器数量
'master_num' => 1,
// 指定从服务器序号
'slave_no' => '',
// 是否严格检查字段是否存在
'fields_strict' => true,
// 是否需要断线重连
'break_reconnect' => false,
// 监听SQL
'trigger_sql' => env('APP_DEBUG', true),
// 开启字段缓存
'fields_cache' => false,
],
// 更多的数据库配置信息
],
];
在thinkphp下面的app\controller\index.php中写了访问数据库的代码:
在phpStudy中启动了apache服务器和MySQL数据库:
在浏览器中访问,报错could not find driver:
问题解决
我在命令行下执行 php -m 命令,目的是列出当前PHP环境中所有已加载的模块(扩展),没有看到pdo_mysql,说明缺少了这个扩展。pdo_mysql 是一个 PHP 扩展,它的作用是充当 PHP 与 MySQL 数据库之间的“桥梁”。
找到php.ini,增加extension=pdo_mysql这行语句:
重启apache服务器:
再到浏览器中访问,得到了预期的结果:
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)