找到
20
篇与
教程
相关的结果
-
Typecho插件故障,导致无法禁用,强制删除网站首页都进不去了? 一次 Typecho 插件故障的完整自救记录:从报错到恢复 🚑 前言 前两天,我的 Typecho 博客突然就挂了😱。罪魁祸首是一个叫 WebFirewall 的插件。这玩意儿出问题后,后台那个“禁用”按钮怎么点都没反应,最后整个博客直接摆烂,给我看这个报错: mlq56so3.png图片 call_user_func_array(): Argument #1 ($callback) must be a valid callback, class "TypechoPlugin\WebFirewall\WebFirewall" not found折腾了好几个小时,总算是把它给收拾服帖了。这篇就把我完整的排查和修复过程记录下来,万一你哪天也遇到这糟心事,希望能帮你省点时间⏰。 一、事情是怎么发生的?🤔 整个过程是这样的: 我装了个 WebFirewall 插件 这货可能跟我博客里别的插件八字不合,或者它自己就有 bug 我想去后台把它禁了,结果那个“禁用”按钮就是个摆设,点了一万遍都没反应 一刷新页面,好家伙,博客直接给我脸色看,白屏报错,前台后台都进不去了 当时的状态就是: ✅ 前台:无法访问(卒) ✅ 后台:也进不去(双卒) ✅ 插件文件:虽然还在,但已经是个废物了 ✅ 禁用按钮:彻底失灵 二、试试“曲线救国 注意,请异地导出你的数据库再进行以下操作 2.1 上传一个“空壳”插件 当你强制删除了WebFirewall,报错不是说找不到 WebFirewall 这个类吗?那我给它一个不就完了! 在 /usr/plugins/WebFirewall/ 目录下创建一个 Plugin.php 文件,里面就写这几行: <?php if (!defined('__TYPECHO_ROOT_DIR__')) exit; class WebFirewall_Plugin {}上传,刷新网站——报错依然坚挺。 这说明问题根子不在文件里,而是在数据库里。 三、直捣黄龙,查数据库!🔍 3.1 登录数据库 我用的是 1Panel 面板,直接点进 phpMyAdmin 就是干。 3.2 找到关键线索表 Typecho 的插件信息都藏在 typecho_options 表里,最关键的一行是 name = 'plugins'。 点开看 value 字段,好家伙,一串长长的序列化字符串,里面果然有料: ...s:10:"WebFirewa";a:1:{s:13:"activated";b:1;s:7:"version";s:5:"1.0.0";}... 看到了吧,数据库里还死死记着这个插件是“已激活”状态呢! 3.3 地毯式搜索,不留死角 为了清干净,我执行了 SQL 语句,看看还有哪儿藏着它: SELECT * FROM typecho_options WHERE value LIKE '%WebFirewa%';结果发现: plugins 字段里有它 panelTable 字段里居然也有它的影子 四、终极清理,一招制敌 💪 4.1 清空插件列表(最暴力也最有效) 直接把 name = 'plugins' 那一行的 value 改成: a:0:{}这串代码的意思就是“没有任何启用的插件”。简单粗暴,但有效! UPDATE typecho_options SET value = 'a:0:{}' WHERE name = 'plugins';4.2 清理 panelTable 里的残留 UPDATE typecho_options SET value = REPLACE(value, 's:10:"WebFirewa";a:1:{s:13:"activated";b:1;s:7:"version";s:5:"1.0.0";}', '') WHERE name = 'panelTable' AND value LIKE '%WebFirewa%';4.3 见证奇迹的时刻✨ 修改完数据库,怀着激动的心,颤抖的手,刷新博客首页——恢复了!恢复了! 我的博客又回来了! 五、打扫战场,收尾工作 🧹 5.1 重新启用插件 赶紧登录后台 → 插件管理,把我之前用的那些正经插件(比如 pScaleUpPlus、AutoSlug 这些)重新启用起来。谢天谢地,配置都还在,不用重新设置。 六、吃一堑,长一智的经验总结 📝 6.1 插件故障时,UI 按钮就是个弟弟 插件自己都挂了,它那个“禁用”按钮的代码根本跑不起来。这时候: ✅ 直接操作数据库,那才是最根本的解决方案 ❌ 死磕后台那个按钮,只会让你怀疑人生 七、给兄弟姐妹们的几句心里话 ❤️ 数据库一定要定期备份! —— 这玩意儿关键时刻能救你老命 插件这玩意儿,够用就行,别贪多 —— 每多一个插件,就多一个潜在的雷 学会直接操作数据库 —— 这是绕过所有 UI 故障的终极大招,值得拥有 结语 这次故障从发生到解决,前前后后花了差不多半天。虽然过程挺折腾人的,但也让我对 Typecho 的插件原理、数据库结构、以及缓存策略这些,都有了更深的理解。 如果你也遇到类似的倒霉事儿,希望这篇文章能给你指条明路,少走点弯路。 有啥问题或者想交流的,欢迎在下面留言!👇 -
【AI】使用deepseek来美化你的文章/GitHub的README ✨ 一句话魔法:让AI瞬间美化你的Markdown博客! 还在为博客排版头疼吗?手动调整格式、绞尽脑汁想生动表达的日子结束啦!🎉 现在,只需一句神奇指令,就能让你的DeepSeek助手帮忙搞定一切,简直像拥有了一个专属排版小精灵!🧚♂️ 🤔 为什么要让AI帮忙美化? 省时省力 ⏰:再也不用花费大量时间手动调整格式、寻找合适的Emoji。 风格统一 🎨:AI能让你的文章风格更一致,阅读体验Up!Up! 灵感激发 💡:那些你没想到的生动表达和趣味元素,AI可能帮你“变”出来。 专注内容 ✍️:你可以更专注于思考要写的内容,而不是纠结怎么写好看。 🪄 那句“神奇指令”是什么? 核心指令其实很简单,就像下面这样: 请帮我美化下面这篇文章,要求: - 口语化一点,像真人博主在说话 - 多加点 emoji,让文章更生动 - 不要 AI 味,要像人写的 - 保持 Markdown 格式 文章内容: [在这里贴上你的草稿]🚨 但是!有个大坑要避开 如果你和我一样,经常要在文章里贴代码块,那上面这个基础版指令可能会翻车💥 为啥?因为Markdown渲染器看到三个反引号就会自动干活,把代码块给渲染了。结果就是:你想分享给别人的教程里,代码块被UI吃掉,格式全乱套😱 🛡️ 终极防渲染版魔法指令 经过无数次踩坑,我终于总结出了这个百发百中的终极版指令: 请帮我美化以下内容,要求生成Markdown.md的原格式文件: 【风格要求】 - 口语化,像真人博主在唠嗑 - 多放 emoji,让文章活起来 - 避免 AI 味,要像人写的 【防渲染规则】 - 所有代码块一律用 [code] 标签包裹 - 严禁使用三个反引号 - 如果代码内容里包含 "[code]",请用 [\code] 转义 【交付要求】 成Markdown.md的原格式文件 以下是需要处理的内容: [在这里粘贴你的原文]🎯 实战案例 假设你要写一篇Typecho插件故障修复的文章: [code] 用户:请帮我写一篇Typecho插件故障修复的教程,用上面的防渲染指令 AI: 💡 更多实用变体 极简版 帮我处理以下内容: - 口语化 + emoji - 代码用 [code] 代替反引号 - 最后给替换回来的版本批量处理版 我有10篇技术文章需要美化,要求: - 统一风格,带点幽默感 - 适当加 emoji - 所有代码块用 [code] 包裹 - 每篇最后都给一个替换回来的版本⚠️ 避坑指南 一定要说清楚防渲染规则:别指望AI默认就知道要用[code] 别忘了要替换版:最后不给反引号版本,你拿到[code]还得自己手动换 特殊字符要转义:如果代码里本身就有[code],记得说清楚 然后,你后台自己把AI给你的[code],替换成你的 (1`) [code] 请美化以下内容,口语化+emoji,代码用[code]包,最后给替换版:[粘贴内容] [/code] 1```html 请美化以下内容,口语化+emoji,代码用[code]包,最后给替换版:[粘贴内容] 1``` 把 1 全掉喵,要是我打了1又被渲染了 写在最后 这套魔法指令我已经帮好多人解决过排版问题了,只要你照着用,保证让你的博客文章又好看又好用! 有啥问题随时问我~ 😎 -
把1panel的Docker 导出到宝塔的Docker 🐳 救命!从1panel搬家到宝塔,Docker折腾死我了!😫 今天也不知道哪根筋搭错了🤪,看着1panel那个面板越看越不顺眼,突然就想:换!马上换宝塔! 💢 📦 第一步:从1panel导出 1️⃣ 打开你的1panel面板 2️⃣ 找到 容器 → 更多 → 制作镜像 mli08umo.png图片 3️⃣ 【敲黑板!重点来了!】 🚨 1.点开 容器 → 更多 → 数据卷 2.找到挂载点,瞅一眼存档位置在哪 👀 3.然后——把所有数据卷全部压缩下载导出! 一个都别落下!💾 mli06g35.png图片 💡 别问我为啥要这一步,问就是踩过坑了😭🚚 第二步:宝塔那边怎么搞? 1️⃣ 打开你的宝塔面板 2️⃣ Docker → 镜像 → 导入镜像(把刚刚1panel导出的镜像扔进去) mli0f080.png图片 3️⃣ 创建容器 —— 这一步应该不用教了吧?🤔 4️⃣ 【第二个重点!拿小本本记下来!】 📝 Docker → 存储卷 🔍 找到你那个项目的地址 开一个新窗口,文件管理直接输入路径 mli079po.png图片 把1panel导出的文件,一股脑全覆盖进去! 💪 mli0851e.png图片 5️⃣ 【最后一步!】 重启!重启!重启! 重要的事情说三遍!🔄 🎉 搞定! 折腾了一下午,终于搞定了... 看着宝塔那个熟悉的面板,突然觉得——还是原来的配方,还是熟悉的味道~ 🥰 📌 划重点总结: ✅ 1panel导出:镜像 + 数据卷 ✅ 宝塔导入:镜像 → 容器 → 覆盖存储卷 → 重启 ❌ 别偷懒只导镜像,不然数据没了哭都来不及😱 🤔 等等,我好像悟了... 话说回来,宝塔导1panel,1panel导宝塔,不都是Docker吗? 这玩意儿难道还能有差别?🧐 💣 其实真相是这样的 很多人(包括博主本人)一开始都以为: Docker镜像 = Ghost备份 💿Ghost: 整个C盘给你端走,注册表、文档、桌面壁纸、甚至你八百年前忘删的迅雷安装包,全在里面躺着。 Docker镜像: 呵,想多了🙃 你只是把“刚装好系统的那一刻”打包了。 你后来存的论文📄、下的电影🎬、浏览器收藏夹🔖,全在另一个分区——也就是数据卷里,压根没跟你走。 🔄 所以正确的搬家姿势其实是: 🏠 1panel → 宝塔 1panel端: ✅ 导出镜像 ✅ 导出存储卷 宝塔端: ✅ 导入镜像 ✅ 导入存储卷 🏢 宝塔 → 1panel 反过来也一样: ✅ 宝塔导出镜像 ✅ 宝塔导出存储卷 ✅ 1panel导入镜像 ✅ 1panel导入存储卷 -
解决Windows存储池无法创建的问题 解决 Windows 存储池“无法添加驱动器”问题 你是否在 Windows 中创建存储池时,遇到过这个令人头疼的错误提示? “无法添加驱动器。检查驱动器连接,然后重试。” ml7ygwcb.png图片反复检查线缆和接口,驱动器明明被系统识别,却始终无法加入存储池。如果你正受此困扰,那么本篇教程或许正是你需要的解决方案。 📌 问题根源分析 根据经验,这个问题大概率是由于你此前曾创建过存储池,但后来通过第三方工具(如 DiskGenius、分区助手等)或命令行手动删除了硬盘上的分区,导致 Windows 存储空间(Storage Spaces)的元数据残留所致。 系统仍然认为这些磁盘属于某个旧的存储池配置,因此拒绝将其加入新的存储池。 🛠️ 解决方案步骤 请按顺序执行以下步骤,在 Windows PowerShell(管理员) 中操作。 步骤 1:查看磁盘状态 首先,我们需要确认磁盘的当前状态。打开管理员身份的 PowerShell,输入以下命令: Get-PhysicalDiskml7ykbna.png图片 在返回的结果中,重点关注 CanPool 这一列。 False:表示磁盘目前无法被加入新的存储池。 True:表示磁盘可用。 如果你的目标磁盘的 CanPool 显示为 False,那么请继续下一步。 步骤 2:定位目标磁盘 从上一条命令的输出中,找到你想要修复的磁盘,并记录下它的 SerialNumber(序列号)。然后运行以下命令(请将 xxxxx 替换为实际的序列号): Get-PhysicalDisk -SerialNumber xxxxxml7yiiw7.png图片 此命令用于确认你定位到了正确的磁盘。 步骤 3:重置磁盘状态 这是最关键的一步。运行重置命令: Reset-PhysicalDisk运行后,PowerShell 会交互式地提示你输入参数: 位于命令管道位置 1 的 cmdlet Reset-PhysicalDisk 请为以下参数提供值: FriendlyName: 请注意: 这里需要输入的是磁盘的 FriendlyName(硬盘名称),而不是 SerialNumber(序列号)。 FriendlyName 同样可以在 步骤1 的 Get-PhysicalDisk 命令输出中找到,通常是类似 “ATA ST2000DM008-2FR1” 或 “NVMe Samsung SSD 970” 这样的型号描述。正确输入 FriendlyName 后按回车。 步骤 4:验证修复结果 重置命令执行完毕后,再次运行最初的检查命令: Get-PhysicalDisk此时,检查目标磁盘的 CanPool 属性。如果操作成功,它应该已经从 False 变为 True。 ✅ 完成 现在,你可以返回 Windows “存储空间” 管理界面,尝试重新创建存储池或向现有存储池添加驱动器了。问题应该已经得到解决。 ⚠️ 重要提醒 数据无价:在执行 Reset-PhysicalDisk 操作前,请务必确保目标磁盘上没有你需要保留的数据。此操作旨在清除磁盘上的存储池元数据,虽然主要影响分区信息,但仍属于磁盘级操作。 管理员权限:所有 PowerShell 命令都必须在 “以管理员身份运行” 的窗口中执行。 适用范围:此方法主要解决因“旧存储池元数据残留”导致的磁盘无法被复用问题。如果是由物理连接、驱动器故障或驱动程序引起的问题,则需要检查硬件和驱动。 希望这篇教程能帮助你顺利解决问题!如果依然遇到困难,欢迎在评论区留言讨论。 -
【转载】给你的typecho的Joe主题博客主题添加底部导航栏 mik83sms.png图片 ✨ 本站同款勉强能用的版本哦 ✨ 我们需要引入一个外部 CSS 文件来定义底部导航栏的样式。这里采用 CDN 链接,既保证样式快速加载,又能自动同步更新~ 🎨 第一步 - 引入 CSS 部分 <link href="https://cdn.heylie.cn/css/dwo_cc.css" rel="stylesheet"> 通过外部 CSS 文件定义底部导航栏样式,CDN 链接让加载更高效、样式更新更及时 。 可以使用主题自带的全局插入css哦: mik8i84z.png图片 💻 第二步 - 写入前端 📁 还是使用主题自带的插入全局自定义底部功能 mik8k9rt.png图片 <div id="mobile-footer"> <ul id="mobile-menu"> <li> <a href="https://fghdz.top/"> <span class="iconfont icon-island__easyi"></span> 首页 </a></li> <li> <a href="https://fghdz.top/%E5%8F%8B%E9%93%BE.html"> <span class="iconfont icon-Cheating"></span> 友链 </a></li> <li> <a href="https://fghdz.top/824.html"> <span class="iconfont icon-dongzuo"></span> 游戏 </a></li> <li> <a href="https://fghdz.top/753.html"> <span class="iconfont icon-beikongshuiwupingtaimenhu-tubiao_zutaigongju-da"></span> 小工具 </a></li> <li> <a href="https://fghdz.top/750.html"> <span class="iconfont icon-00limao"></span> AI </a></li> </ul> </div> ⚠️ 图标使用说明: 参考一:本站顶部图标样式可参考 → 「主题美化指南:自定义顶部图标设计与实现」 参考二:前往 iconfont 挑选心仪图标后引用(不会操作可百度,或点击底部评论,一般看见的都会回复) <link rel="stylesheet" href="//at.alicdn.com/t/c/xxxx.css"> 引入自己的css,不要直接复制粘贴的喵~mik89dij.png图片 然后,把地址复制替换在span里面就像了 mik89vd8.png图片 图标CSS链接生成和挑选 📌 总结: ✅ 将上述代码添加到博客主题的底部文件位置 ✅ 代码定义了包含五个链接的底部导航栏 ✅ 每个链接搭配图标+文本标签,视觉更清晰 原文地址:https://blog.heylie.cn/archives/432/