经过上面两篇文章的学习,你已经设置完成了几乎所有的配置。
但是接下来,你在根据官方文档进行网站的自定义的时候,发现了某些错误,不知道如何排查修复怎么办?
比如这样的报错。
打开调试开关
在管理员仪表盘中,导航至系统按钮并点击,接着找到调试错误选项。
启用调试错误后,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()
的参数是字符串类型。这应该能够解决你遇到的类型错误问题。
当你解决了这个问题之后,就可以参考下面的官方文档来自定义页面了。