最近在整理一台旧的云服务器(支持PHP的那种)时,翻出了一个有意思的小项目。最初是为了做个时间戳接口,没想到一试就上瘾。它的名字很朴素——PHP通用简单小工具(SimpleSmallUtil,简称SSU)。
平时写接口,总会遇到各种零碎需求,比如获取当前时间、临时保存一些云变量、给朋友发个受密码保护的图片链接、动态维护版本信息,甚至做个迷你“云阶”数据分发。为了这些琐事去反复造轮子,实在没什么意思。这款工具居然一个包全搞定,还支持在云主机、云服务器、云虚拟机上运行,基于ThinkPHP,要求PHP8以上,部署也算友好。
我最常用的几个功能
/time和/time/timestamp一秒钟返回当前时间或时间戳,简单直接。
云变量管理(/variable/add、/variable/get、/variable/clean)可以当作临时的发卡、懒后端、慢消息队列,甚至做区块链原型的参数存储。支持一次性变量,带过期时间,取到就销毁,安全性不错。
图片访问(/picture/get)设个公钥,放在 runtime/picture 文件夹里,别人有密码就能访问,没密码就别想。做活动邀请码海报特别方便。
文件下载(/file/get)一样的思路,但针对文件,带公钥,防止被扫目录盗链。
版本信息管理(/version/all、/version/lastest)如果你像我一样有多个版本在维护,可以用它来存元数据,更新信息一处改全局同步,还能加icon、tags、platforms等字段。
迷你云阶(/cloudstep/get)轻量级的数据分发,支持负载均衡、动静态随机、无感更新、静态云变量。
部署过程小记
从GitHub Release下载压缩包解压到服务器目录。
composer install(完整包可跳过)。
执行local_tp.sql初始化数据库表。
配置config/database.php(或.env)。
将public目录映射到域名或公网端口,或者用TP自带运行方式。
公钥在app/common.php配置,每个功能都有独立公钥。数据文件在runtime对应文件夹。
为什么会继续用下去
每个接口都有明确的错误码(-2、-1、0、1),调试心里有底。
所有操作都带密钥,安全性高。
配置清晰,扩展灵活(按照 example 格式就能拓展)。
部署占用资源小,吞吐量可根据设备调节。
平时写项目笔记的时候,很少遇到这种“小而全”的PHP工具。它既不是庞大的框架,也不是零散的脚本集合,而是一个适合日常、甚至应急使用的万能小帮手。
如果你有云主机、云服务器、云虚拟机,或者只是想找个ThinkPHP + PHP8环境下能跑的多功能小工具,可以去看看它的主页:
GitHub:https://github.com/Mutantcat-Working-Group/SimpleSmallUtil