think-orm 获取的host为什么会是自己的本机ip?

超龄码农

问题描述

这里写描述

程序代码或配置

return [
'default' => getenv('DB_CONNECTION', 'mysql'),
'connections' => [
'mysql' => [
// 数据库类型
'type' => getenv('DB_CONNECTION', 'mysql'),
// 服务器地址
'hostname' => getenv('DB_HOST', '127.0.0.1'),
// 数据库名
'database' => getenv('DB_DATABASE', ''),
// 数据库用户名
'username' => getenv('DB_USERNAME', ''),
// 数据库密码
'password' => getenv('DB_PASSWORD', ''),
// 数据库连接端口
'hostport' => getenv('DB_PORT', '3306'),

重现问题的步骤

这里写步骤
截图

221 2 0
2个回答

超龄码农

<?php

return [
'default' => 'mysql',
'connections' => [
'mysql' => [
// 数据库类型
'type' => 'mysql',
// 服务器地址
'hostname' => getenv('DB_HOST'),
// 数据库名
'database' => getenv('DB_NAME'),
// 数据库用户名
'username' => getenv('DB_USER'),
// 数据库密码
'password' => getenv('DB_PASSWORD'),
// 数据库连接端口
'hostport' => getenv('DB_PORT'),
// 数据库连接参数
'params' => [
// 连接超时3秒
\PDO::ATTR_TIMEOUT => 3,
],
// 数据库编码默认采用utf8
'charset' => 'utf8',
// 数据库表前缀
'prefix' => '',
// 断线重连
'break_reconnect' => true,
// 连接池配置
'pool' => [
'max_connections' => 5, // 最大连接数
'min_connections' => 1, // 最小连接数
'wait_timeout' => 3, // 从连接池获取连接等待超时时间
'idle_timeout' => 60, // 连接最大空闲时间,超过该时间会被回收
'heartbeat_interval' => 50, // 心跳检测间隔,需要小于60秒
],
],
],
// 自定义分页类
'paginator' => '',
];
找出问题了 如果我直接不用getENV就能访问 用getenv就会出问题 应该是getenv的bug
composer require vlucas/phpdotenv

  • 暂无评论
TM

env 没配置好?

🔝