脚下时光博客

常用、分享、学习

AD
【腾讯云】云产品限时秒杀,爆款2核4G云服务器首年74元
文章目录

Snipe-IT升级最新版本指南

xiabq 2025-09-08 16:19:00 点滴记忆 0

Snipe-IT安装也有1年了,用起来还不错,最新版本来到了8.3.1,老版本还是7.0,需要对老版本进行升级

因为安装方式有很多,我这个安装比较传统,是通过文件进行安装,没有使用docker和git,写个教程记录一下

然后上传到服务器解压,替换文件需要注意.env文件,里面保存的是服务器设置和数据库地址

我使用的是宝塔面板,它的升级比较特殊,常规系统是替换文件就可以了,最多在访问一个web的升级地址进行数据库升级,但这个需要在命令行进行操作

1.获取取最新代码

先在git上下载最新的文件包 https://github.com/grokability/snipe-it/releases/tag/v8.3.1

2.安装依赖

进入shell,在项目根目录下,运行 Composer 安装最新的依赖包:

composer install --no-dev --prefer-source --optimize-autoloader

这里升级可能还会出现访问git需要你提供token才能继续下载

  1. 创建 Token

    • 登录 GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)

    • 点击 "Generate new token" → "Generate new token (classic)"

    • Description 填写:Composer on server(可自定义)

    • Expiration:选择合适期限(如90天)

    • Select scopes保持所有选项为空(对于公开仓库只需要最基本的权限)

    • 点击 "Generate token"

  2. 复制 Token:生成后立即复制 token 字符串(只显示一次)

  3. 在 Composer 中输入 Token

    • 回到你的终端,在 Token (hidden): 提示处粘贴刚才复制的 token

    • 按回车键继续

会有多个文件,连续重复的粘贴token就行,最后安装成功

3.执行行升级脚本

运行 Snipe-IT 提供的升级脚本:

php upgrade.php

默认就是执行这个升级脚本文件就可以,但实际会出现很多问题

问题1,新版本的php扩展增加了 readline,需要在宝塔里安装这个扩展

image

问题2,由于证书验证等原因,需要修复或者排除检测

问题3,升级脚本不能使用root账户执行

问题4,.env文件权限问题

使用官方升级程序错误太多,然后使用手动升级方案

使用宝塔默认的www用户执行命令,先关闭SELinux 安全

setenforce 0
sudo -u www bash -c "
cd /www/wwwroot/snipeit/ && \
composer install --no-dev --prefer-source --optimize-autoloader && \
php artisan migrate --force && \
php artisan config:clear && \
php artisan cache:clear && \
php artisan view:clear && \
php artisan optimize
"

image

这样就手动升级成功了,访问网站看看是否为新版本。

image

到此升级结束,把刚才的安全设置修改回来就完成了

# 恢复安全权限
chmod 640 /www/wwwroot/snipeit/.env
setenforce 1  # 如果之前禁用了 SELinux



  • 分享: