问题

我在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服务器:
在这里插入图片描述

再到浏览器中访问,得到了预期的结果:
在这里插入图片描述

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐