开发者日常碎碎念:一个意外发现的“小帮手”

最近在整理一台旧的云服务器(支持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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容