Clara BBS 云存储是什么:四驱动架构与「原生签名无 SDK」的底气
学完这篇你能搞清楚三件事:Clara BBS 后台那个「云存储」设置到底在管什么、常说的「四驱动」指的是哪一层、以及「原生签名无 SDK」为什么值得当成一个卖点——顺便拿到一份上传失败的排查顺序。
第一步:先确认云存储管的是「文件存哪儿」
登录后台,进入「系统设置 → 云存储」。
这一页解决的只有一个问题:用户上传的图片、附件、头像这类文件,最终落到哪里。默认是服务器本地的 `uploads` 目录;开了云存储之后,文件会被送到远程对象存储上,前台帖子里引用的地址随之改写。
需要说清楚的是,云存储不改变下面这些事的判定,它们各管各的:
- 允许上传哪些扩展名 → 后台「系统设置 → 上传」
- 文件最大能多大 → PHP 的 `upload_max_filesize` / `post_max_size`
- 谁能上传 → 版块权限矩阵 + 会员套餐里的「图片上传」权益
注意:云存储页面配的是「存储位置」,不是「能不能传」。图片传不上去时,先别急着怀疑云存储。
第二步:理解「四驱动」——它不是四个功能,是四类后端
「驱动」这个词听着玄,其实就是适配器:把「保存一个文件」这个动作,翻译成某一家存储服务能听懂的请求。
Clara BBS 在云存储页提供的是下拉选择式的驱动切换:选哪种后端 → 填对应参数(密钥、Bucket、区域、访问域名这类)→ 保存。因为系统是运行时加载、保存即生效、无编译缓存的架构,切完不用重启任何东西。
所谓「四驱动」,指的是后台可选的四种存储后端;具体下拉框里是哪四个,以后台实际列表为准,版本迭代可能增补。
注意:切换驱动不会自动把历史文件搬过去。老帖子里的图还留在原来的地方,只要原存储没停服,链接照样能打开。要迁移得自己传一趟,别指望切换那一刻文件自动搬家。
第三步:「原生签名无 SDK」到底强在哪
对象存储不是开放网盘,上传下载都要签名鉴权。行业里最常见的做法是引入厂商官方 SDK,而 SDK 基本都靠 Composer 装。
Clara BBS 的做法是:不引 SDK,直接在 PHP 里按签名算法把签名算出来——这就是「原生签名无 SDK」。
它之所以敢这么干,底气来自系统本身的设计基线:无需 Composer、无需命令行、无编译缓存。上传压缩包覆盖 → 访问 install 向导 → 完事。没有 `composer install` 这一步,也就不会出现「服务器禁了 exec」「PHP 扩展缺一个」「内网拉不到 packagist」这类把新手卡一整晚的问题。
对面板用户来说,这个差别的实际意义是:升级、迁移、换服务器时,云存储这块不会成为那个「怎么都装不上」的环节。
注意:签名和服务器时间强相关。服务器时间漂了几分钟,对象存储就会回「签名过期」之类的错误。用 NTP 同步一下时间,往往比翻文档快。
第四步:配完怎么验证真的生效
- 后台填好参数,保存。
- 回到前台,发一个带图片或附件的帖子。
- 图片上右键「复制图片地址」,看域名——如果显示的是你配置的存储域名而不是自己站点的域名,就是生效了。
- 想确认文件本身,去后台「附件管理」看记录,或直接登录对象存储控制台看 Bucket 里有没有新对象。
第五步:不顺的时候按这个顺序查
- 先看页面提示。 上传失败时系统会告诉你具体原因,是超过 PHP 上限、白名单不符,还是目录/凭证不可写。
- 白名单是两个独立字段。 「允许的扩展名」管图片,「附件允许的扩展名」管附件,很多人只改了前者。
- PHP 体积上限。 宝塔默认 2M,手机照片经常超,建议调到 30M 以上。
- 凭证类问题。 密钥、Bucket 名、区域、Endpoint 有一个填错就通不过签名,注意别把密钥里的空格带进去。
- 时间同步。 上面提过,最容易忽略。
小结
- 云存储管「文件存哪儿」,不管「能不能传」,两件事分开排查。
- 驱动是适配器,后台下拉切换、保存即生效,切换不迁移历史文件。
- 「原生签名无 SDK」的价值在于不引入 Composer 依赖,让部署和迁移保持上传即用的简单度。
- 配完验证方法:看前台图片地址的域名变没变。
- 出问题优先读页面提示,再查白名单、PHP 上限、凭证、时间同步。
转载请注明出处,版权归原作者所有。
星耀SVIP
管理员
黑卡会员





