Skip to content

介绍 ​

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 轴偏移量设置、旋转角度等
  • 支持通过接口上传、管理图片、管理相册
  • 支持在线增量更新、跨版本更新
  • 图片广场

线上交流 ​

安装要求 ​

  • 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 版本,但是作者我用了亿点时间写了迁移脚本,尽管如此,从旧版本迁移还是一个比较繁琐的步骤。

WARNING

  1. 迁移脚本只会将你的旧版本的数据库数据迁移至新版本,如果你的旧版本使用的是本地储存,你需要自己移动物理文件。
  2. 新版本需要图片的尺寸数据,在迁移过程中需要获取图片信息,如果你的数据量较大,迁移可能需要很久,取决于你的网络以及服务器的网络。
  3. 脚本会迁移旧版本的角色组、策略配置、用户、图片数据,迁移后的角色组和储存策略无任何关联关系。
  4. 如果你使用的是本地储存策略,迁移后的图片,所有已迁移的图片访问 url 需要在域名后面加上 i 字母前缀。
  5. 迁移成功后的用户处于未验证状态,账号的密码为 用户名+邮箱地址 的组合。
  6. 脚本需要使用 php8 cli (命令行)模式下运行。

准备工作 ​

  1. 先安装全新的 2.0 版本,安装成功后不要进行任何操作
  2. 保证旧版本只有一个管理员账号
  3. 需要将旧版本中的所有用到的储存策略配置填上访问域名,保证该储存策略的图片能正常通过该域名访问
  4. 如果使用第三方储存,需要关闭防盗链等一切访问限制,避免图像尺寸获取失败

迁移脚本配置 ​

下载迁移脚本 ,将脚本解压至已安装 php8 运行环境的服务器的任意文件夹下,然后编辑脚本根目录下的 config.yaml 配置文件,将该文件中的旧版本数据库、新版本数据库配置填写完整。

同时请保证运行脚本的环境可以同时连接到这两个不同的数据库。

开始迁移 ​

迁移过程中,建议关闭旧版本网站。

使用 ssh 工具登录到服务器,cd 到脚本根目录(与 start.php 文件同级)
然后执行迁移命令 php start.php migrate

当命令窗口出现进度条时,表示正在迁移图片数据,如果你的图片量很多,那么等待的时间可能很久,过程中请不要关闭窗口、断网。

后续操作 ​

当进度条走完以后,则数据迁移完成,旧版本的管理员账号将会被新版本安装时设置的管理员账号所代替,请使用安装时设置的管理员账号登录新版本网站。

迁移完成后组的配置都是系统默认值,旧版本中设置的配置需要在新版本中重新设置。

如果旧版本使用的是本地图片,需要将旧版本 public 目录下的图片文件,复制到新版本中的 storage/app/uploads 目录下。