介绍
Lsky Pro 是一个用于在线上传、管理图片的图床程序,中文名:兰空图床,你可以将它作为自己的云上相册,亦可以当作你的写作贴图库。
兰空图床始于 2017 年 10 月,最早的版本由 ThinkPHP 5 开发,后又经历了数个版本的迭代,在 2021 年末启动了新的重写计划并于 2022 年 3 月份发布全新的 2.0 版本。
特性
- 支持
本地
等多种第三方云储存AWS S3
、阿里云 OSS
、腾讯云 COS
、七牛云
、又拍云
、SFTP
、FTP
、WebDav
、Minio
- 多种数据库驱动支持,
MySQL 5.7+
、PostgreSQL 9.6+
、SQLite 3.8.8+
、SQL Server 2017+
- 支持配置使用多种缓存驱动,
Memcached
、Redis
、DynamoDB
、等其他关系型数据库,默认以文件的方式缓存 - 多图上传、拖拽上传、粘贴上传、动态设置策略上传、复制、一键复制链接
- 强大的图片管理功能,瀑布流展示,支持鼠标右键、单选多选、重命名等操作
- 自由度极高的角色组配置,可以为每个组配置多个储存策略,同时储存策略可以配置多个角色组
- 可针对角色组设置上传文件、文件夹路径命名规则、上传频率限制、图片审核等功能
- 支持图片水印、文字水印、水印平铺、设置水印位置、X/y 轴偏移量设置、旋转角度等
- 支持通过接口上传、管理图片、管理相册
- 支持在线增量更新、跨版本更新
- 图片广场
线上交流
- Telegram 群组:https://t.me/lsky_pro
安装要求
- PHP >= 8.0.2
- BCMath PHP 扩展
- Ctype PHP 扩展
- DOM PHP 拓展
- Fileinfo PHP 扩展
- JSON PHP 扩展
- Mbstring PHP 扩展
- OpenSSL PHP 扩展
- PDO PHP 扩展
- Tokenizer PHP 扩展
- XML PHP 扩展
- Imagick 拓展
- exec、shell_exec 函数
- readlink、symlink 函数
- putenv、getenv 函数
支持的数据库
- Mysql 5.7+
- PostgreSQL 9.6+
- SQLite 3.8.8+
- SQL Server 2017+
捐赠
Lsky Pro 的开发和更新等,都是作者在业余时间独立开发,并免费开源使用,如果您认可我的作品,并且觉得对你有所帮助我愿意接受来自各方面的捐赠😃。
支付宝 | 微信 |
---|---|
反馈问题
- 若你在使用过程中遇到了匪夷所思的问题,第一步请先确认该问题是如何导致的,尝试自行检查解决
- 如果你觉得可能遇到了错误,认为该错误是程序的 bug,你可以前往 https://github.com/lsky-org/lsky-pro/issues 进行反馈
- 如果程序出现了崩溃级别的异常,例如 500 错误,通常情况下程序会在
storage/logs
目录下生成错误日志,出现这种情况反馈时请将日志文件携带(注意,日志中可能存在敏感信息) - 不接受任何无厘头的提议、例如:
- 能不能支持上传图片至 github、gitee、jsdelivr 等
- 能不能支持上传 mp4、avi 等视频
- 当你准备向他人提问时,你应该先准备好你的问题,描述清楚你的场景。建议阅读 提问的智慧
升级指南
由于 2.x 版本与 1.x 存在巨大差异,且数据库结构层面变化较大,无法从旧版本直接升级至 2.x 版本,但是作者我用了亿点时间写了迁移脚本,尽管如此,从旧版本迁移还是一个比较繁琐的步骤。
迁移之前你需要知道的事
- 迁移脚本只会将你的旧版本的数据库数据迁移至新版本,如果你的旧版本使用的是本地储存,你需要自己移动物理文件。
- 新版本需要图片的尺寸数据,在迁移过程中需要获取图片信息,如果你的数据量较大,迁移可能需要很久,取决于你的网络以及服务器的网络。
- 脚本会迁移旧版本的角色组、策略配置、用户、图片数据,迁移后的角色组和储存策略无任何关联关系。
- 如果你使用的是本地储存策略,迁移后的图片,所有已迁移的图片访问 url 需要在域名后面加上
i
字母前缀。 - 迁移成功后的用户处于未验证状态,账号的密码为 用户名+邮箱地址 的组合。
- 脚本需要使用 php8 cli (命令行)模式下运行。
准备工作
- 先安装全新的 2.0 版本,安装成功后不要进行任何操作
- 保证旧版本只有一个管理员账号
- 需要将旧版本中的所有用到的储存策略配置填上访问域名,保证该储存策略的图片能正常通过该域名访问
- 如果使用第三方储存,需要关闭防盗链等一切访问限制,避免图像尺寸获取失败
迁移脚本配置
下载迁移脚本 ,将脚本解压至已安装 php8 运行环境的服务器的任意文件夹下,然后编辑脚本根目录下的 config.yaml
配置文件,将该文件中的旧版本数据库、新版本数据库配置填写完整。
同时请保证运行脚本的环境可以同时连接到这两个不同的数据库。
开始迁移
迁移过程中,建议关闭旧版本网站。
使用 ssh 工具登录到服务器,cd 到脚本根目录(与 start.php 文件同级)
然后执行迁移命令 php start.php migrate
当命令窗口出现进度条时,表示正在迁移图片数据,如果你的图片量很多,那么等待的时间可能很久,过程中请不要关闭窗口、断网。
后续操作
当进度条走完以后,则数据迁移完成,旧版本的管理员账号将会被新版本安装时设置的管理员账号所代替,请使用安装时设置的管理员账号登录新版本网站。
迁移完成后组的配置都是系统默认值,旧版本中设置的配置需要在新版本中重新设置。
如果旧版本使用的是本地图片,需要将旧版本 public
目录下的图片文件,复制到新版本中的 storage/app/uploads
目录下。