Files
easygoadmin-wiki/EasyGoAdmin_Gin_AntdVue/zh/appendix/faq.md
T
2026-10-20 21:19:44 +08:00

57 lines
2.7 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.
# A. 常见问题汇总
:::tip 概述
本页汇总了项目各模块的常见问题及解决方案,按场景分类索引。遇到问题时可先查阅本页,再深入各章节详细文档。
:::
## 环境问题
| 问题 | 解决方案 |
|------|----------|
| PHP 版本低于 8.2 | 升级到 PHP 8.2+,项目使用了 8.2 的强类型特性 |
| 缺少 pdo_mysql 扩展 | `apt install php8.2-mysql` 或 `dnf install php-mysqlnd` |
| 缺少 gd 扩展 | `apt install php8.2-gd` 或 `dnf install php-gd` |
| Composer 下载慢 | `composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/` |
| Redis 未安装 | 可选,改用 file 缓存:`.env` 中 `[CACHE]` 下设置 `DRIVER = file` |
| 缺少 redis 扩展 | `pecl install redis` |
| Oracle pdo_oci 加载失败(Windows) | 安装 Oracle Instant Client 19c + VC++ 2015-2022 Redistributable,php.ini 启用 `extension=pdo_oci`,配置系统 PATH 后重启 Apache |
| 命令行有 pdo_oci,浏览器 phpinfo 没有 | Apache 服务启动时 PATH 未刷新,完全停止再启动 Apache 即可 |
| Oracle Instant Client 路径含中文/空格导致加载失败 | 解压到 `C:\oracle\instantclient_19_20` 等固定路径,避免空格与中文 |
## 启动问题
| 问题 | 解决方案 |
|------|----------|
| 端口被占用 | `php think run --port 8080` |
| 数据库连接失败 | 检查 `.env` 中的数据库配置 |
| 401 未授权 | 检查请求头是否携带 `Authorization: Bearer <token>` |
| 403 禁止访问 | 检查用户权限配置,确认角色已分配菜单 |
| 502 Bad Gateway | 检查 PHP-FPM 是否启动:`systemctl status php8.2-fpm` |
## 业务问题
| 问题 | 解决方案 |
|------|----------|
| 唯一性校验报错 | 检查数据是否重复,确认 `uniqueFields` 配置 |
| 枚举显示名为空 | 检查字典配置,确认 `serializeMaps` 正确 |
| 文件上传失败 | 检查 `FILE.UPLOAD_DIR` 配置和目录权限 |
| 导入失败 | 检查 Excel 表头是否与 `headerMap` 一致 |
| 排序不生效 | 检查 `pageOrderBy` 配置,或前端 `orderField` 参数 |
## 前端问题
| 问题 | 解决方案 |
|------|----------|
| pnpm install 失败 | `rm -rf node_modules pnpm-lock.yaml && pnpm install` |
| API 404 | 检查后端路由注册和 Vite 代理配置 |
| 菜单不显示 | 检查菜单配置、组件路径、角色权限 |
| 白屏 | 打开 F12 控制台查看错误 |
| Token 频繁过期 | 检查 `JWT.ACCESS_TTL` 配置(默认 7200 秒) |
## 定时任务问题
| 问题 | 解决方案 |
|------|----------|
| 任务不执行 | 检查 crontab 配置:`crontab -l` |
| 任务重复执行 | 检查是否有多个 cron 或 daemon 在运行 |
| 任务执行超时 | 检查 PHP `max_execution_time` 配置 |