自建lsky图床与踩坑

缘由

首先就是写博客对图片来说太不友好了,upyun 的 cdn流量感觉对图片加速不是很快,此外每一张图都得上传到博客里面,假如哪天崩了就没了,于是产生了外挂图床的想法,兰空图床就是一个非常好的选择

建站踩坑

宝塔安装程序要求

php要求8以上且满足扩展需求 mysql要求5.7以上

光是这两个,就让我的破主机累得够呛,因为不满足快速安装条件,就得编译安装,搞得我非得先升级ubuntu系统,目前升级到了20.04lts,之前的python3设置完全丢失,重新下载配置忙了一晚上,累死我了

之后就可以正常安装这两者了,然后根据lsky的要求安装扩展即可,参考【保姆级教程】兰空图床(Lskypro)的宝塔面板安装教程

服务器500错误

首先是浏览器的500错误,这个搞定了,因为系统目录要求755www权限,改了就行,但是之后又遇到了兰空安装的500错误,这个折腾了好一会儿,先是定位错误,找到/storage/logs中的laravel-2024-03-12.log,然后问gpt,然而也没解决问题,

根据提供的错误信息,看起来是您的 Laravel 应用中出现了与 Carbon 库相关的问题。似乎 `setLastErrors()` 方法接收到了一个意外的参数类型。

这里是错误的分析:

1. `Carbon\Carbon::setLastErrors(): Argument #1 ($lastErrors) must be of type array, bool given`:这个错误表明 `setLastErrors()` 方法期望接收一个数组作为参数,但实际传入了一个布尔值。

2. 这个错误在您的代码中出现了两次:
   - 第一次出现在 `vendor/nesbot/carbon/src/Carbon/Traits/Creator.php` 文件中,具体位置在 `Carbon\Carbon::setLastErrors()` 方法。
   - 第二次出现在相同的文件中,但这次是在 `Illuminate\Session\Middleware\StartSession.php` 文件中。

要解决这个问题,您需要追溯到您的代码库中使用 Carbon 库的地方,特别是在哪些地方创建了 Carbon 对象的实例,并确保传递给这些实例的参数是适当的。

另外,看起来这个错误也与会话管理有关,因为它出现在 `StartSession.php` 中间件中。可能存在与会话处理相关的不一致或不正确的使用方式。

以下是解决该问题的一些步骤:

1. 检查代码库中的最近更改或更新,特别是与 Carbon 或会话管理的使用相关的部分。
2. 验证传递给任何 Carbon 对象创建的参数。
3. 检查 Laravel、Carbon 和其他依赖项的版本之间是否存在冲突或兼容性问题。
4. 确保会话配置已正确设置,并与 Laravel 文档中的要求匹配。

如果您无法根据提供的信息解决问题,可能需要进一步调试或寻求 Laravel 社区论坛或支持渠道的帮助。

一直500报错,bing也搜不到,兰空的论坛也无可救药,最后还是在github的issue里找到了答案,感谢这个老哥,直接修改原始代码解决,500服务器错误

解决方案是

如果无法将 PHP 版本更改为 8.1,则可以更新此行

文件路径

./vendor/nesbot/carbon/src/Carbon/Traits/Creator.php

行号:

928

旧线

私有静态函数 setLastErrors(array $lastErrors)

新行

私有静态函数 setLastErrors($lastErrors)

https://stackoverflow.com/questions/74749564/laravel-carbon-carbonsetlasterrors

然后就正常安装了,神了!!!

配置七牛云储存

安装完毕后就在储存策略中添加七牛云储存为储存器,进行图床加速,参考官方教程即可,我因为之前有挂在自有网盘,所以很方便就挂上了,然后就可以疯狂享受图床带来的超级速度了!!!!当然,上传的时候需要选择储存策略为七牛云的策略哈,不然还是上传到本地的

放点图床图作为结尾吧!第三张和后面的图是图床的图,前两张的是本地图床的图