showdoc 文件存档位置

举报
林欣 发表于 2025/09/21 23:53:15 2025/09/21
【摘要】 在 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)迁移到新服务器

  1. 安装相同版本的 ShowDoc。
  2. 恢复数据库和附件到对应路径。
  3. 修改配置文件(如域名、数据库连接)如果需要。

6. 总结

部署方式 文档存储位置
源码部署 数据库:./Application/Runtime/Data/showdoc.sqlite
附件:./Public/Uploads/
Docker 部署 通过 docker inspect 查看挂载路径,或进入容器查找 /var/www/showdoc/
云服务 官方云:通过导出功能备份
第三方云:登录服务器检查类似源码部署的路径

如果仍找不到文档,建议:

  1. 使用 find 命令全局搜索 .sqliteUploads
    find / -name "showdoc.sqlite" 2>/dev/null
    find / -path "*/showdoc/Public/Uploads" 2>/dev/null
    
  2. 检查 ShowDoc 的日志文件(./Application/Runtime/Logs/)是否有错误提示。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。