• webmaster

    现在不需要它显示出来了
    paste-20260919-180051.png

    主楼
  • bbs1org

    本地插件管理 五级等级插件

    #1
  • webmaster

    必须关闭自动签到才不显示吧? 可以加个独立显示开关吗

    #2
  • bbs1org

    更新了,入口链接可由管理员开关

    #3
  • webmaster

    666

    #4
  • webmaster

    自动停用原因
    2026-09-19 19:43:48 PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'm_gushi_in.plugin_user_level_topic_gates' doesn't exist (index.php:285)

    #6
  • webmaster

    啊,不兼容

    #5
  • bbs1org

    凡是新版本插件带新表/新列,代码覆盖后需要"停用→启用"一次

    #7
  • webmaster

    这样可以

    #9
  • bbs1org

    原因已定位。这是 user_level 插件 v2.23.0 的"等级阅读门控"新表没被创建导致的:

    发生了什么

    1. 新表 plugin_user_level_topic_gates 只在插件启用时由 install 回调创建(user_level_install() →

    user_level_topic_gate_schema(),app/plugins/user_level/plugin.php:139),符合 PLUGIN.md 约定"Schema 函数只能由 install 调用"。

    1. 线上(MySQL 库 m_gushi_in)的代码被更新到 2.23.0,但插件一直处于启用状态,install 没有重跑,所以这张表从未建立。auto_upgrade

    只同步核心表结构,不会执行插件的 install。

    1. 于是主题页/列表渲染时,门控读取逻辑(plugin.php:500、626 的 SELECT ... FROM plugin_user_level_topic_gates)抛 PDOException,框架在

    app/optional/Plugin.php:728 捕获后自动停用了插件并记下这条原因。

    怎么恢复

    在后台插件管理页重新启用"五级信任等级体系"即可——启用会执行 install,用 CREATE TABLE IF NOT EXISTS
    幂等建表。因为表从未存在过,说明线上还没有任何门控主题,不涉及数据丢失;正文迁移函数也有表存在性守卫(plugin.php:152),会安全跳过。

    以后注意:凡是新版本插件带新表/新列,代码覆盖后需要"停用→启用"一次(或走市场在线更新,它会自动先停用再启用时触发
    install),否则运行时查询就会像这次一样触发自愈停用。

    #8

发表回复

登录后回复