Appearance
概述
EBAOZU 系统的配置文件位于 config/ 目录中,支持通过根目录 .env 环境变量文件进行覆盖。系统采用三层配置管理:环境变量 (.env) > 配置文件 (config/*.php) > 数据库动态配置 (eb_system_config)。
配置文件列表
| 文件名 | 说明 |
|---|---|
app.php | 基础应用配置(时区、异常模板等) |
database.php | 数据库连接配置与分页默认限制 |
cache.php | 缓存存储驱动配置(默认 Redis) |
queue.php | Think Queue 队列驱动与连接配置 |
swoole.php | Swoole HTTP 与 WebSocket 运行参数 |
cookie.php | Cookie 与 CORS 跨域响应头配置 |
log.php | 日志通道与级别配置 |
pay.php | 支付驱动与参数配置 |
sms.php | 短信模板与服务配置 |
upload.php | 上传驱动(本地、OSS、COS、七牛)与大小限制 |
核心配置详解
环境变量配置 (.env)
ini
APP_DEBUG = true
APP_TRACE = false
[APP]
DEFAULT_TIMEZONE = Asia/Shanghai
APP_KEY = your_custom_app_key
[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = ebaozu_v4
USERNAME = root
PASSWORD = root
HOSTPORT = 3306
CHARSET = utf8mb4
PREFIX = eb_
DEBUG = true
[REDIS]
REDIS_HOSTNAME = 127.0.0.1
PORT = 6379
REDIS_PASSWORD =
SELECT = 0
PREFIX = ebaozu:
[SWOOLE]
HOST = 0.0.0.0
PORT = 20697Swoole 配置 (config/swoole.php)
php
return [
'server' => [
'host' => env('swoole.host', '0.0.0.0'),
'port' => env('swoole.port', 20697), // 默认开发端口 20697(生产 Nginx 反向代理至此端口)
'mode' => SWOOLE_PROCESS,
'sock_type' => SWOOLE_SOCK_TCP,
],
'options' => [
'worker_num' => swoole_cpu_num(),
'task_worker_num' => swoole_cpu_num(),
'enable_static_handler' => true,
'document_root' => root_path('public'),
'max_request' => 10000,
],
'websocket' => [
'enable' => true,
'handler' => \app\webscoket\Manager::class,
],
];配置读取方法
读取配置文件
php
use think\facade\Config;
// 使用门面获取
$dbHost = Config::get('database.connections.mysql.hostname');
// 使用助手函数
$timezone = config('app.default_timezone', 'Asia/Shanghai');读取环境变量
php
// 使用 env() 助手函数
$debug = env('APP_DEBUG', false);
$redisHost = env('redis.redis_hostname', '127.0.0.1');读取数据库动态配置
后台动态配置保存在 eb_system_config 表中,通过 sys_config() 读取:
php
// 读取单个配置
$siteName = sys_config('site_name');
// 批量读取配置
$configs = sys_config(['site_name', 'site_logo', 'store_stock']);注意事项
- 敏感信息安全:数据库密码、第三方秘钥必须配置在
.env中,严禁将包含真实密码的.env提交至 Git 仓库。 - 清除配置缓存:修改
config/配置文件或.env后,如果开启了配置缓存,需执行php think clear:cache或重启 Swoole 服务。