showdoc 文件存档位置
【摘要】 在 ShowDoc 项目中,文档的存储位置取决于你的 部署方式(如 Docker、源码部署、云服务)和 配置文件设置。以下是详细说明: 1. 默认存储路径(源码部署) (1)文档数据存储SQLite 数据库文件(默认):ShowDoc 默认使用 SQLite 存储文档数据,文件路径通常为:./Application/Runtime/Data/showdoc.sqlite如果找不到,检查 ./...
在 ShowDoc 项目中,文档的存储位置取决于你的 部署方式(如 Docker、源码部署、云服务)和 配置文件设置。以下是详细说明:
1. 默认存储路径(源码部署)
(1)文档数据存储
-
SQLite 数据库文件(默认):
ShowDoc 默认使用 SQLite 存储文档数据,文件路径通常为:./Application/Runtime/Data/showdoc.sqlite
- 如果找不到,检查
./Application/Runtime/
目录下的.sqlite
文件。 - 数据库文件可能因版本不同而命名略有差异(如
showdoc.db
)。
- 如果找不到,检查
-
MySQL 数据库(如果配置了):
如果修改了./Application/Common/Conf/config.php
使用 MySQL,文档数据会存储在指定的 MySQL 数据库中,需通过数据库客户端(如 phpMyAdmin、Navicat)查看。
(2)附件存储
- **上传的附件(图片、文件等)**默认存储在:
./Public/Uploads/
- 子目录可能按日期分类(如
./Public/Uploads/2024/03/
)。
- 子目录可能按日期分类(如
2. Docker 部署的存储路径
如果使用 Docker 部署,文档数据默认存储在 Docker 容器内部,但通常建议通过 卷挂载(Volume) 持久化到宿主机:
(1)检查 Docker 挂载路径
运行以下命令查看容器挂载的卷:
docker inspect <showdoc-container-name> | grep Mounts -A 10
输出示例:
"Mounts": [
{
"Type": "bind",
"Source": "/host/path/to/showdoc_data", # 宿主机路径
"Destination": "/var/www/showdoc/Public/Uploads", # 容器内路径
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
},
{
"Type": "bind",
"Source": "/host/path/to/showdoc_db",
"Destination": "/var/www/showdoc/Application/Runtime/Data",
"Mode": "rw",
"RW": true,
"Propagation": "rprivate"
}
]
- 关键路径:
- 附件:
/host/path/to/showdoc_data
(对应容器内的/var/www/showdoc/Public/Uploads
)。 - 数据库:
/host/path/to/showdoc_db
(对应容器内的/var/www/showdoc/Application/Runtime/Data
)。
- 附件:
(2)未挂载卷时的临时路径
如果未挂载卷,数据存储在容器内部,重启容器后数据会丢失!需通过以下命令进入容器查找:
docker exec -it <showdoc-container-name> bash
find /var/www/showdoc -name "*.sqlite" # 查找数据库文件
ls /var/www/showdoc/Public/Uploads/ # 查看附件
3. 云服务(如 Serverless、SAAS)
-
ShowDoc 官方云服务
文档数据存储在官方服务器,用户无法直接访问文件系统,但可通过 导出功能 备份数据:- 进入项目 → 设置 → 导出数据(支持 HTML/Markdown/JSON 格式)。
-
第三方云平台(如 AWS、阿里云 ECS):
存储路径与源码部署或 Docker 部署类似,需登录云服务器检查对应目录。
4. 自定义配置路径
如果修改了 ShowDoc 的配置文件(./Application/Common/Conf/config.php
),文档路径可能变更:
(1)检查数据库配置
return array(
'DB_TYPE' => 'sqlite', // 或 'mysql'
'DB_NAME' => './Application/Runtime/Data/showdoc.sqlite', // SQLite 路径
// MySQL 配置示例:
// 'DB_HOST' => '127.0.0.1',
// 'DB_USER' => 'root',
// 'DB_PWD' => 'password',
// 'DB_NAME' => 'showdoc',
);
(2)检查附件上传路径
在 ./Application/Common/Conf/config.php
中搜索 UPLOAD_PATH
:
'UPLOAD_PATH' => './Public/Uploads/', // 默认附件路径
5. 备份与迁移建议
(1)备份文档数据
- SQLite 数据库:直接复制
.sqlite
文件。 - MySQL 数据库:使用
mysqldump
导出:mysqldump -u root -p showdoc > showdoc_backup.sql
- 附件:打包
./Public/Uploads/
目录:tar -czvf uploads_backup.tar.gz ./Public/Uploads/
(2)迁移到新服务器
- 安装相同版本的 ShowDoc。
- 恢复数据库和附件到对应路径。
- 修改配置文件(如域名、数据库连接)如果需要。
6. 总结
部署方式 | 文档存储位置 |
---|---|
源码部署 | 数据库:./Application/Runtime/Data/showdoc.sqlite 附件: ./Public/Uploads/ |
Docker 部署 | 通过 docker inspect 查看挂载路径,或进入容器查找 /var/www/showdoc/ |
云服务 | 官方云:通过导出功能备份 第三方云:登录服务器检查类似源码部署的路径 |
如果仍找不到文档,建议:
- 使用
find
命令全局搜索.sqlite
或Uploads
:find / -name "showdoc.sqlite" 2>/dev/null find / -path "*/showdoc/Public/Uploads" 2>/dev/null
- 检查 ShowDoc 的日志文件(
./Application/Runtime/Logs/
)是否有错误提示。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)