2 lines
5.2 KiB
JavaScript
2 lines
5.2 KiB
JavaScript
import{_ as d,o as e,c as a,a2 as r}from"./chunks/framework.B-QBKwc1.js";const b=JSON.parse('{"title":"常见问题汇总","description":"本页汇总了项目各模块的常见问题及解决方案,按场景分类索引。","frontmatter":{},"headers":[],"relativePath":"zh/appendix/faq.md","filePath":"zh/appendix/faq.md"}'),o={name:"zh/appendix/faq.md"};function c(i,t,l,n,h,s){return e(),a("div",null,[...t[0]||(t[0]=[r('<h1 id="A-常见问题汇总" tabindex="-1">A. 常见问题汇总 <a class="header-anchor" href="#A-常见问题汇总" aria-label="Permalink to "A. 常见问题汇总""></a></h1><div class="tip custom-block"><p class="custom-block-title">概述</p><p>本页汇总了项目各模块的常见问题及解决方案,按场景分类索引。遇到问题时可先查阅本页,再深入各章节详细文档。</p></div><h2 id="环境问题" tabindex="-1">环境问题 <a class="header-anchor" href="#环境问题" aria-label="Permalink to "环境问题""></a></h2><table tabindex="0"><thead><tr><th>问题</th><th>解决方案</th></tr></thead><tbody><tr><td>PHP 版本低于 8.2</td><td>升级到 PHP 8.2+,项目使用了 8.2 的强类型特性</td></tr><tr><td>缺少 pdo_mysql 扩展</td><td><code>apt install php8.2-mysql</code> 或 <code>dnf install php-mysqlnd</code></td></tr><tr><td>缺少 gd 扩展</td><td><code>apt install php8.2-gd</code> 或 <code>dnf install php-gd</code></td></tr><tr><td>Composer 下载慢</td><td><code>composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/</code></td></tr><tr><td>Redis 未安装</td><td>可选,改用 file 缓存:<code>.env</code> 中 <code>[CACHE]</code> 下设置 <code>DRIVER = file</code></td></tr><tr><td>缺少 redis 扩展</td><td><code>pecl install redis</code></td></tr><tr><td>Oracle pdo_oci 加载失败(Windows)</td><td>安装 Oracle Instant Client 19c + VC++ 2015-2022 Redistributable,php.ini 启用 <code>extension=pdo_oci</code>,配置系统 PATH 后重启 Apache</td></tr><tr><td>命令行有 pdo_oci,浏览器 phpinfo 没有</td><td>Apache 服务启动时 PATH 未刷新,完全停止再启动 Apache 即可</td></tr><tr><td>Oracle Instant Client 路径含中文/空格导致加载失败</td><td>解压到 <code>C:\\oracle\\instantclient_19_20</code> 等固定路径,避免空格与中文</td></tr></tbody></table><h2 id="启动问题" tabindex="-1">启动问题 <a class="header-anchor" href="#启动问题" aria-label="Permalink to "启动问题""></a></h2><table tabindex="0"><thead><tr><th>问题</th><th>解决方案</th></tr></thead><tbody><tr><td>端口被占用</td><td><code>php think run --port 8080</code></td></tr><tr><td>数据库连接失败</td><td>检查 <code>.env</code> 中的数据库配置</td></tr><tr><td>401 未授权</td><td>检查请求头是否携带 <code>Authorization: Bearer <token></code></td></tr><tr><td>403 禁止访问</td><td>检查用户权限配置,确认角色已分配菜单</td></tr><tr><td>502 Bad Gateway</td><td>检查 PHP-FPM 是否启动:<code>systemctl status php8.2-fpm</code></td></tr></tbody></table><h2 id="业务问题" tabindex="-1">业务问题 <a class="header-anchor" href="#业务问题" aria-label="Permalink to "业务问题""></a></h2><table tabindex="0"><thead><tr><th>问题</th><th>解决方案</th></tr></thead><tbody><tr><td>唯一性校验报错</td><td>检查数据是否重复,确认 <code>uniqueFields</code> 配置</td></tr><tr><td>枚举显示名为空</td><td>检查字典配置,确认 <code>serializeMaps</code> 正确</td></tr><tr><td>文件上传失败</td><td>检查 <code>FILE.UPLOAD_DIR</code> 配置和目录权限</td></tr><tr><td>导入失败</td><td>检查 Excel 表头是否与 <code>headerMap</code> 一致</td></tr><tr><td>排序不生效</td><td>检查 <code>pageOrderBy</code> 配置,或前端 <code>orderField</code> 参数</td></tr></tbody></table><h2 id="前端问题" tabindex="-1">前端问题 <a class="header-anchor" href="#前端问题" aria-label="Permalink to "前端问题""></a></h2><table tabindex="0"><thead><tr><th>问题</th><th>解决方案</th></tr></thead><tbody><tr><td>pnpm install 失败</td><td><code>rm -rf node_modules pnpm-lock.yaml && pnpm install</code></td></tr><tr><td>API 404</td><td>检查后端路由注册和 Vite 代理配置</td></tr><tr><td>菜单不显示</td><td>检查菜单配置、组件路径、角色权限</td></tr><tr><td>白屏</td><td>打开 F12 控制台查看错误</td></tr><tr><td>Token 频繁过期</td><td>检查 <code>JWT.ACCESS_TTL</code> 配置(默认 7200 秒)</td></tr></tbody></table><h2 id="定时任务问题" tabindex="-1">定时任务问题 <a class="header-anchor" href="#定时任务问题" aria-label="Permalink to "定时任务问题""></a></h2><table tabindex="0"><thead><tr><th>问题</th><th>解决方案</th></tr></thead><tbody><tr><td>任务不执行</td><td>检查 crontab 配置:<code>crontab -l</code></td></tr><tr><td>任务重复执行</td><td>检查是否有多个 cron 或 daemon 在运行</td></tr><tr><td>任务执行超时</td><td>检查 PHP <code>max_execution_time</code> 配置</td></tr></tbody></table>',12)])])}const m=d(o,[["render",c]]);export{b as __pageData,m as default};
|