Chevereto V4 自托管图床完全搭建教程三——一些BUG的修复

Chevereto V4 自托管图床完全搭建教程
Chevereto V4 自托管图床完全搭建教程二——管理员和其他配置设置
本文也同步发布在我的小站上,由于篇幅限制,部分无关紧要的图片省略,想看全部点击这里


经过上面两篇文章的学习,你已经设置完成了几乎所有的配置。

但是接下来,你在根据官方文档进行网站的自定义的时候,发现了某些错误,不知道如何排查修复怎么办?

比如这样的报错。

打开调试开关

在管理员仪表盘中,导航至系统按钮并点击,接着找到调试错误选项。

启用调试错误后,Chevereto将在屏幕上显示错误信息。

通常在生产环境中,建议关闭此选项,因为在出现错误时,所有访问网站的用户都能看到,这可能会显著增加网站的安全风险.

修改页面时报错

我们在进行网站自定义的时候,可能会修改隐私政策、服务条款的页面内容,甚至可能会增加一些额外页面。

但是在4.0.11版本中(我不知道其他版本是不是这样,我只测试了4.0.11版本是这样)修改内容并保存的时候,会出现这个错误
4.0.12版本已经修复此bug
4.0.12版本已经修复此bug
4.0.12版本已经修复此bug

这直接导致我们无法修改隐私政策和其他额外页面的内容。

错误信息表明hash_equals()函数期望第一个参数($known_string)是一个字符串,但实际上传递了一个整数。

解决办法:

我们打开网站目录,找到/app/legacy/routes目录下的dashboard.php文件,定位到1504行,找到这一行代码

if (hash_equals($page[$v] ?? '', $postPage ?? '')) {

修改这一行代码,比如:

if (hash_equals(strval($page[$v] ?? ''), strval($postPage ?? ''))) {

通过使用strval()函数,将变量强制转换为字符串,确保传递给hash_equals()的参数是字符串类型。这应该能够解决你遇到的类型错误问题。

当你解决了这个问题之后,就可以参考下面的官方文档来自定义页面了。
Pages | V4 Admin Chevereto V4 Admin Manual

点赞
  1. sailcom说道:

    很详细赞一个

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮