Files
rxthinkcmf-wiki/RXThinkCMF_Laravel13_NaiveVue/zh/appendix/config-reference.md
T
2026-10-08 17:50:29 +08:00

144 lines
6.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# C. 配置项速查
## 后端 .env 配置
:::tip 格式说明
本项目 `.env` 为**扁平键名**(无分组段),遵循 Laravel 约定;键名与 `config/*.php` 中的 `env()` 读取一一对应。
:::
### 应用配置
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `APP_ENV` | `local`(示例) | 运行环境(生产设为 `production`) |
| `APP_DEBUG` | `true` | 调试模式(生产环境设为 false) |
| `APP_KEY` | - | 应用密钥(`php artisan key:generate` 生成) |
| `APP_URL` | `http://localhost` | 应用地址 |
| `DEMO_MODE` | `false` | 演示模式开关 |
| `TRUSTED_PROXIES` | (空) | 受信代理 IP(逗号分隔,支持 CIDR),未配置时默认信任 `127.0.0.1` 和 `::1` |
| `DEFAULT_TENANT_ID` | `1` | 默认租户ID,超管操作租户隔离表时自动代入(`config/tenant.php`) |
### 数据库配置
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `DB_CONNECTION` | `sqlite` | 数据库类型:mysql / pgsql / sqlsrv / oracle / sqlite |
| `DB_HOST` | `127.0.0.1` | 数据库主机 |
| `DB_DATABASE` | - | 数据库名(SQLite 为文件路径) |
| `DB_USERNAME` | - | 数据库用户 |
| `DB_PASSWORD` | - | 数据库密码 |
| `DB_PORT` | `3306` | 数据库端口 |
| `DB_CHARSET` | `utf8mb4` | 字符集 |
| `DB_PREFIX` | `laravel_` | 表前缀(**与 SQL 脚本一致,勿改**) |
各数据库默认端口:
| 数据库 | 默认端口 | 默认用户 |
|--------|----------|----------|
| MySQL | 3306 | root |
| PostgreSQL | 5432 | postgres |
| SQL Server | 1433 | sa |
| Oracle | 1521 | - |
| SQLite | - | - |
### JWT 配置(`config/jwt.php`)
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `JWT_SECRET` | (空) | 签名密钥(≥32 字符,**缺失/过短 fail-close**,生产环境务必修改) |
| `JWT_ACCESS_TTL` | `7200` | access_token 有效期(秒) |
| `JWT_REFRESH_TTL` | `604800` | refresh_token 有效期(秒) |
| `JWT_PERMS_TTL` | `7200` | 权限缓存有效期(秒) |
| `JWT_ISSUER` | `rxthinkcmf` | 签发者标识 |
### 文件上传配置(`config/file.php`)
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `FILE_UPLOAD_DIR` | `uploads` | 上传根目录(相对 `public/`) |
| `FILE_DOMAIN_URL` | (空) | 文件访问域名(留空按当前请求域名补全) |
| `FILE_IMAGE_EXT` | `gif,jpg,jpeg,png,bmp,webp` | 图片允许后缀 |
| `FILE_EXT` | 多种后缀 | 文件允许后缀 |
| `FILE_MAX_SIZE` | `10` | 最大文件大小(MB) |
### 会话 / 缓存 / 队列(Redis 必需)
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `SESSION_DRIVER` | `redis` | 会话驱动 |
| `SESSION_LIFETIME` | `120` | 会话过期(分钟) |
| `CACHE_STORE` | `redis` | 缓存驱动 |
| `QUEUE_CONNECTION` | `redis` | 队列驱动 |
| `REDIS_CLIENT` | `phpredis` | Redis PHP 扩展 |
| `REDIS_HOST` | `127.0.0.1` | Redis 主机 |
| `REDIS_PORT` | `6379` | Redis 端口 |
| `REDIS_PASSWORD` | `null` | Redis 密码 |
### CORS 配置(`config/cors.php`)
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `CORS_ALLOW_ORIGIN` | `*` | 允许的跨域来源(生产环境限制为实际域名) |
### API 配置(`config/api.php`)
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `API_CAMEL_SNAKE_CONVERT` | `true` | 驼峰/下划线自动转换 |
### 验证码配置(`config/captcha.php`)
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `CAPTCHA_BYPASS_CODE` | (空) | 万能验证码,仅开发调试用,**生产环境务必留空** |
| `CAPTCHA_LENGTH` | `6` | 验证码字符长度(4-6位) |
| `CAPTCHA_EXPIRE` | `300` | 过期时间(秒) |
| `CAPTCHA_RATE_WINDOW` | `60` | 防刷窗口期(秒) |
| `CAPTCHA_RATE_LIMIT` | `10` | 窗口期内最大获取次数 |
| `CAPTCHA_CHARS` | `ABCDEFGHJKLMNPQRSTUVWXYZ2346789` | 字符集 |
| `CAPTCHA_FONT_PATH` | `static/fonts/Vera.ttf` | 字体路径 |
| `CAPTCHA_IMAGE_WIDTH` / `HEIGHT` | `160` / `50` | 图片尺寸(像素) |
| `CAPTCHA_FONT_SIZE` | `28` | 字体大小 |
| `CAPTCHA_NOISE_LINES` | `6` | 干扰线数量 |
| `CAPTCHA_NOISE_DOTS` | `300` | 噪点数量 |
### 代码生成器配置(`config/generator.php`)
| 变量 | 默认值 | 说明 |
|------|--------|------|
| `GENERATOR_PARENT_MENU_ID` | `189` | 生成模块的父菜单ID |
| `GENERATOR_APP_NAME` | `tool` | 模块应用名(路由前缀、前端目录) |
## 前端环境变量(`ui/.env*`)
| 变量 | 说明 |
|------|------|
| `VITE_GLOB_API_URL` | API 基础路径(留空表示同源) |
| `VITE_GLOB_API_URL_PREFIX` | API 前缀(默认 `/api`) |
| `VITE_GLOB_UPLOAD_URL` | 图片上传地址(跨域部署时配置) |
| `VITE_GLOB_IMG_URL` | 图片前缀地址 |
| `VITE_PORT` | 开发端口(默认 8001) |
| `VITE_DROP_CONSOLE` | 构建时删除 console |
## 配置文件对照
| .env 变量前缀 | 配置文件 | 主要配置键 |
|-----------|---------|-----------|
| `DB_*` | `config/database.php` | `default` / `connections.*` |
| `JWT_*` | `config/jwt.php` | `secret` / `access_ttl` / `refresh_ttl` / `perms_ttl` / `issuer` |
| `FILE_*` | `config/file.php` | `upload_dir` / `domain_url` / `temp_dir` / `image_ext` / `file_ext` / `max_size` |
| `CACHE_STORE` / `REDIS_*` | `config/cache.php`、`config/database.php` | `default` / `stores.redis` |
| `CORS_ALLOW_ORIGIN` | `config/cors.php` | `allow_origin` |
| `API_CAMEL_SNAKE_CONVERT` | `config/api.php` | `camel_snake_convert` / `convert_except_params` |
| `CAPTCHA_*` | `config/captcha.php` | 全部验证码参数 |
| `GENERATOR_*` | `config/generator.php` | `parent_menu_id` / `app_name` / `template_dir` / `backend_outputs` |
| `DEFAULT_TENANT_ID` | `config/tenant.php` | `default_tenant_id` |
| `TRUSTED_PROXIES` | `config/app.php` | `trusted_proxies` |
| `APP_TIMEZONE` | `config/app.php` | `timezone` |
### 租户配置
| 配置文件 | 配置键 | 默认值 | 说明 |
|----------|--------|--------|------|
| `config/tenant.php` | `default_tenant_id` | `1` | 默认租户ID,超管操作租户隔离表时自动代入 |