把以前过期的域名重新买回来了,然后又弄了一年的轻量级,半道上碰一堆问题,完全没有第一次部署时那么顺利,怀疑是不是新手保护期结束了导致刷怪了。
恢复过程
我手里硬盘保留的typecho框架可以说是上古版本的1.1-17.10.30-release了,有兴趣可以找我拿(笑)。
然后cockoo是2.0.0,其实我真要是念旧的话应该用1x的,不过我是个嫌麻烦的人,有啥就用啥,
服务器最开始用的是PHP74,不出意外的报错了。
Deprecated: Function get_magic_quotes_gpc() is deprecated in
/www/wwwroot/past.ibexlwy.com/var/Typecho/Common.php on line 208据说Typecho在PHP7.4+/PHP8.x环境下的经典报错,是因为 get_magic_quotes_gpc()从PHP7.4开始被标记为deprecated,在 PHP8里已经被彻底移除。
大概是凌晨的缘故,左右脑互博了一下,只把typecho给更新了。于是此时版本:
PHP 7.4
typecho 1.2.1
Cuckoo 2.0.0
紧接着是第二个问题,打开文章后评论区消失,报错内容如下:
Argument 1 passed to _t() must be of the type string, null given, called in
/www/wwwroot/past.ibexlwy.com/usr/themes/Cuckoo/libs/setting.php on line 86说明某个配置项被传了个null给 _t(),所以需要检查setting.php第86行来调整。
大致翻了下能找出可能性的比如这一段:
$$name = new Typecho_Widget_Helper_Form_Element_Checkbox($name, $options, $default, _t($display), _t($description));
如果$display或$description是null的话,_t(null)就会报错。
同样的问题在textarea()、select()、input()等方法里也可能出现。
凑合调整一下然后强制刷新,姑且是没新的报错提示。
但是,能发表评论,后台有评论记录,但是文章下方的评论区没了,想了想之前找bhao问过,据说是兼容性问题,白干,干脆还原。
于是此后版本为:
PHP 8.2
typecho 1.2.1
Cuckoo 2.2.0
其实PHP82貌似也不是最优选择,因为我注意到Cuckoo自己的主题设置里存在报错,以下:
Deprecated: htmlspecialchars(): Passing null to parameter #1 ($string) of type string is deprecated in /www/wwwroot/past.ibexlwy.com/usr/themes/Cuckoo/libs/setting.php on line 41而把PHP降级到80反而不再显示了。
其实道理也简单,80没报错是因为8.0没有把传null当作警告,所以这其实不是主题逻辑错误,只是PHP版本兼容性导致的“弃用警告”。
最后就是截止到刚才的最后一个状况,主页文章预览和文章页面有随机封面功能(如果没设置指定封面的话),此时主页文章预览时随机封面失效,而进入文章页时生效,推测是模板调用逻辑不一致导致的。
也是进行了两个微调。
首先是把/usr/themes/Cuckoo/index.php做了个调整,从原先的
<div class="index-img" data-bg="<?php $wzimg = $this->fields->wzimg;if (!empty($wzimg)) {echo $wzimg;} else {echo randPic();} ?>"></div>改成了
<div class="index-img" data-bg="<?php echo !empty($this->fields->wzimg) ? $this->fields->wzimg : randPic(); ?>"></div>然后是functions.php,改动比较多。
首先是输出方式上,
print_r($output);是直接输出结果到页面,调整为
return $output;改为返回值,调用时用echo randPic()或者赋值给变量再用,灵活性更高,也避免了直接在HTML里打印可能产生的副作用。
然后是初始化$output,
本来是没有提前定义$output,只在每个条件分支里赋值。
调整成在函数开头就初始化,避免$output未定义的警告。
折腾完强制刷新一下就跑起来了,不管了。

后话
唉,那其实说来很惭愧的,重启blog这件事情浪费了我的时间和心情。
因为我其实真正专心做博客写文章心得什么的时候是19年疫情那会儿,高二,上网课。那时还看v,甚至自己还学着做L2D动画。然后初高中都在一个班的同学,Akara,也就是现在的某知名全栈大佬“吊顶高松灯”,在某天的地理课上拉着我说要做博客,建议我萌新可以学着弄typecho,还安利了Cuckoo这老少皆宜的theme。
期间还认识了不少人,这里也就不一一列举了。
隔离结束,学了美术,到高中毕业,再到出来工作以后,也就没再维护服务器了,之前写的很多东西都早已随着服务器和域名的过期而永远的消失了。
2023年夏天考上了一所日本大学,在来日本之前虽然也重新建站了一回,但因为以前的东西都没备份,所以带着苦闷洋洋洒洒写了点垃圾话。真没含什么水分的东西依旧是老样子没存档,于是在我上大一下半年的时候又倒站了(没续费,也没备份)。
可能是因为我本身就对很多事情都漫不经心,所以我昨天晚上又产生了想要把以前自己的部落格复活一下,才发现值得我回忆的有关于自己的东西已经真正意义上来说一点都不剩下了啊……
不过更好笑的事情是之前22年3月18的那个dat文件报错了,存档的时候也没检查,就连保存的垃圾话也没办法复原。
就这样吧,等下再熬几个小时就可以去上课了,刚好把我最近混沌的作息调整回来。

info 评论功能已经关闭了呐!