骚操作
博主喜欢折腾自己的服务器,每次折腾完后,都无法把服务器进行复原操作,导致 linux 环境出现各种各样的问题,没办法只好备份 typecho 数据库,然后重新安装系统,安装完后,安装 typecho 博客。然后 typecho 博客总是会出现各种各样的错误。
错误类型
例如:
- class '这里是某个名字' not found
- class '这里是某个名字' not exist
总之,就是各种提示找不到文件或者找不到类。
错误原因
因为我的 typecho 会安装很多的插件,然后我又不备份我的插件和主题,所以就导致了插件的主题找不到,那么就没有解决方案了吗?
答案是当然有。
如何解决
- 打开你的 typecho 数据库,找到 options 表
使用如下 sql 进行搜索 [本步骤不是必须] 我的表前缀是 typecho_ ,请自行修改成你的
select * form typecho_options where name='plugins';
然后把所得结果进行备份或者直接进行下一步
把 options 表的 name='plgins'; 的 value 变成 a:0:{} 注意:我的表前缀是 typecho_ ,请自行修改成你的
UPDATE `typecho_options` SET `value` = 'a:0:{}' WHERE `name` = 'plugins'
搞定,收工。博客首页可以正常打开了。
如果您想恢复自己以前的插件
对照着上面的第二步的操作所备份的字段进行查找自己的插件。如何查找?
例如我的 value :
a:2:{s:9:"activated";a:4:{s:7:"TeStore";a:1:{s:7:"handles";a:1:{s:21:"admin/menu.php:navBar";a:1:{i:0;a:2:{i:0;s:14:"TeStore_Plugin";i:1;s:6:"render";}}}}s:8:"AddTheme";a:1:{s:7:"handles";a:1:{s:21:"admin/menu.php:navBar";a:1:{i:0;a:2:{i:0;s:15:"AddTheme_Plugin";i:1;s:6:"render";}}}}s:6:"Spider";a:0:{}s:6:"Donate";a:1:{s:7:"handles";a:3:{s:24:"rootvip.cn.Donate:Donate";a:1:{i:0;a:2:{i:0;s:13:"Donate_Plugin";i:1;s:6:"render";}}s:21:"Widget_Archive:header";a:1:{i:0;a:2:{i:0;s:13:"Donate_Plugin";i:1;s:5:"style";}}s:21:"Widget_Archive:footer";a:1:{i:0;a:2:{i:0;s:13:"Donate_Plugin";i:1;s:2:"js";}}}}}s:7:"handles";a:4:{s:21:"admin/menu.php:navBar";a:2:{i:0;a:2:{i:0;s:14:"TeStore_Plugin";i:1;s:6:"render";}s:5:"0.001";a:2:{i:0;s:15:"AddTheme_Plugin";i:1;s:6:"render";}}s:24:"rootvip.cn.Donate:Donate";a:1:{i:0;a:2:{i:0;s:13:"Donate_Plugin";i:1;s:6:"render";}}s:21:"Widget_Archive:header";a:1:{i:0;a:2:{i:0;s:13:"Donate_Plugin";i:1;s:5:"style";}}s:21:"Widget_Archive:footer";a:1:{i:0;a:2:{i:0;s:13:"Donate_Plugin";i:1;s:2:"js";}}}}
- 打开 https://www.bejson.com/convert/deserialize/
- 在上面输入 对应的 value
- 复制得到 json 打开在线 json 工具(请自行搜索使用 json格式化工具)
然后 会得到如下格式:
{ "activated": { "TeStore": { "handles": { "admin\/menu.php:navBar": [ ["TeStore_Plugin", "render"] ] } }, "AddTheme": { "handles": { "admin\/menu.php:navBar": [ ["AddTheme_Plugin", "render"] ] } }, "Spider": [], "Donate": { "handles": { "rootvip.cn.Donate:Donate": [ ["Donate_Plugin", "render"] ], "Widget_Archive:header": [ ["Donate_Plugin", "style"] ], "Widget_Archive:footer": [ ["Donate_Plugin", "js"] ] } } }, "handles": { "admin\/menu.php:navBar": { "0": ["TeStore_Plugin", "render"], "0.001": ["AddTheme_Plugin", "render"] }, "rootvip.cn.Donate:Donate": [ ["Donate_Plugin", "render"] ], "Widget_Archive:header": [ ["Donate_Plugin", "style"] ], "Widget_Archive:footer": [ ["Donate_Plugin", "js"] ] } }
查看 4 中的 activated 下面的东西就可以了,例如本文中包含的名字
TeStore
AddTheme
Donate
Spider
这个里面啥也没有,先忽略
打开你的 typecho 插件安装工具,搜索第 5 步中出现的字段名字
例如:
AddTheme
然后点击安装。 OK ,安装成功
End
OK, 真正的打完收工了
如果您对本文有任何的疑惑都可以评论哦,作者看到后就会回复了。希望能够帮到您。
巧了 我的是所有插件启用或禁用提示无法启用/禁用错误,虽然功能正常使用,网络请求里看到是500错误,plugins被我清空后单独开启自带的helloword插件也是一样,找了一天原因没找到
最近遇到个很迷的问题:
所有已启用的插件都提示“此插件文件已经损坏或者被不安全移除, 强烈建议你禁用它”
而未启用的插件全显示空白信息,只有操作列有一个“即插即用”提示,然后全都没了。
并且已启用的插件全部“半正常”工作,部分功能失效,一气之下把数据表给:
UPDATE `typecho_options` SET `value` = '' WHERE `name` = 'plugins'
然后报错整站打不开,根据报错信息找到博主这篇文章,把 plugins 插件列表重新初始化了。
但是所有插件还是一样全部显示空白信息无法启用,不知楼主可遇到过此特殊情况?头都大了。
update 重置的值不对。这样写UPDATE `typecho_options` SET `value` = 'a:0:{}' WHERE `name` = 'plugins'