• bbs1org

    bbs1org

    一个极简 PHP 论坛。由一个仅100多KB大小的PHP文件构建。纯原生、无框架、无依赖,支持 SQLite、MySQL 和 PostgreSQL。适合社区站点、低成本部署和 AI 二次开发。

    特点

    • 纯原生 PHP,单核心代码文件,无框架和 Composer 依赖,部署与维护简单
    • 支持 SQLite、MySQL 和 PostgreSQL,数据库结构和搜索能力保持跨引擎兼容
    • 包含首页、版块、主题、回帖、收藏、个人主页和后台管理等完整论坛功能
    • 支持用户组、版块权限、站点设置、注册控制、发帖限制和附件管理
    • 插件机制支持 Hook、路由、后台页面、资源合并、在线安装更新和统一计划任务
    • 站点设置、版块和用户组按需懒加载,数据库结构简单,负载能力强
    • 支持 AJAX 交互和响应式布局,兼顾 PC 与移动端使用体验

    环境

    源码部署最低要求:

    软件版本要求说明
    PHP8.1 及以上PHP 8.5 与当前 Docker 镜像一致
    PDO随 PHP 安装至少启用下方所选数据库对应的扩展
    SQLiteSQLite 3通过 pdo_sqlite 使用
    MySQL8.0 及以上通过 pdo_mysql 使用
    PostgreSQL13 及以上通过 pdo_pgsql 使用
    Web 服务Nginx 或 ApacheApache 需启用 PHP-FPM/模块及 URL 重写

    使用 Docker 部署还需要 Docker Engine 24 及以上、Docker Compose v2 和 unzip。Docker Compose 当前配置使用 PHP 8.5-fpm、MySQL 8.4、PostgreSQL 18 和 Nginx Alpine 镜像;源码运行时仍以 PHP 8.1+ 为最低要求。

    演示

    https://bbs1.org

    代码仓库

    https://github.com/bbs1git/bbs1org

    Docker 源码部署

    服务器需先安装 Docker Engine 24+、Docker Compose v2 和 unzip。Docker 可使用以下命令安装:

    curl -fsSL https://get.docker.com -o install-docker.sh
    sudo sh install-docker.sh

    从 源码下载 获取程序包和 Docker 部署包,解压后的 bbs1org、bbs1org_docker 目录应放在同一目录下。

    curl -fL 'https://bbs1.org/plugin_market_source?path=bbs1org.zip&download=1' -o bbs1org.zip
    curl -fL 'https://bbs1.org/plugin_market_source?path=bbs1org_docker.zip&download=1' -o bbs1org_docker.zip
    
    unzip -q bbs1org.zip
    unzip -q bbs1org_docker.zip
    
    cd bbs1org_docker
    cp .env.example .env
    # 如需修改端口或数据库模式,请先编辑 .env
    docker compose up -d

    容器启动后访问默认8080端口:

    http://服务器地址:8080

    首次访问会进入网页安装程序,请在页面中设置站点、默认版块和管理员账号。

    默认使用 SQLite。如需修改 8080 端口,或者启用 MySQL、PostgreSQL,请在启动前修改 .env。数据库容器会按 .env 中的 DB_NAME、DB_USER、DB_PASSWORD 初始化;网页安装时填写同样的数据库名、用户名和密码。

    数据库COMPOSE_PROFILES数据库地址端口
    SQLitesqlite无需填写无需填写
    MySQLmysqlmysql3306
    PostgreSQLpgsqlpostgres5432

    常用操作(均在 bbs1org_docker 目录执行):

    docker compose ps                 # 查看状态
    docker compose logs -f            # 查看日志
    docker compose restart            # 重启
    docker compose down               # 停止并保留数据卷

    虚拟机部署(已有 Nginx/Apache + PHP 环境)

    环境要求:

    • PHP 8.1+
    • 启用 PDO;SQLite 需 pdo_sqlite,MySQL 需 pdo_mysql,PostgreSQL 需 pdo_pgsql
    • SQLite 3、MySQL 8.0+ 或 PostgreSQL 13+
    • Web 服务运行用户对 app/data/ 有写入权限;使用 SQLite 时数据库文件也保存在该目录
    • 必须禁止 Web 直接访问 app/data/,该目录包含数据库、配置和运行缓存;部署完成后请确认访问 https://你的域名/app/data/ 返回 403 或 404

    Nginx 站点配置应包含:

    location ~ ^/app/(?:data|cache|plugins|optional)(?:/|$) {
        deny all;
    }

    Apache 可在网站根目录的 .htaccess 中加入:

    RewriteEngine On
    RewriteRule ^app/(data|cache|plugins|optional)(/|$) - [F,L]

    启用伪静态(Rewrite)时,Nginx 在站点配置中使用:

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    Apache 在启用 mod_rewrite 且允许 .htaccess(AllowOverride FileInfo 或 All)后,在网站根目录 .htaccess 中追加:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^ index.php [L,QSA]
    • 打开 源码下载,下载 bbs1org.zip。
    • 解压 ZIP,将该目录内的全部文件上传到网站目录,确保 index.php 位于网站根目录。
    • 访问站点域名,根据指示进行安装即可。
    • 使用第三方服务 (比如: cron-job.org) 定时请求服务,启用定时任务。

    每分钟以 GET 方式访问:https://你的域名/index.php?a=cron

    面板部署

    宝塔和 1Panel 可在面板终端执行“Docker 源码部署”中的下载、解压和启动命令。

    在线升级

    在后台设置底部点击“升级”。检测更新时只读取源码下载入口的 bbs1org.json,确认升级后才下载所选文件。升级前请先备份数据库、附件、头像和插件目录。

    数据库转换和迁移

    先在新数据库完成安装并登录管理员账号,再从升级页进入“数据迁入”,或访问 index.php?a=migrate。选择旧数据库类型并填写连接信息,程序会迁入旧库的全部普通数据表;当前库没有的表会自动复制字段、主键和索引后再导入数据,同名表则清空后替换,并保留原 ID。

    插件数据表会一并迁入。附件、头像和插件程序文件不在数据库中,需要另外复制 app/upload/、app/avatars/ 和 app/plugins/。迁移前请备份新旧数据库。

    数据备份

    SQLite数据目录 app/data/ 、附件目录 app/upload/、插件目录 app/plugins/ 需要定期备份。

    AI插件开发指南

    推荐使用 AI 为本项目开发插件。插件开发规范、最小示例、资源、计划任务、数据库与 Hook 说明请阅读 开发者文档。
    该页面是 bbs1org 唯一的插件开发规范,开发或修改插件前应完整阅读并遵守。

    最后由 bbs1org 编辑于 2026-09-09 10:53
    主楼
    开发日志最新 10 条
    • bbs1org
      bbs1org
      版本 v10.6 更新:增加帖子内容 HTML 钩子以支持扩展内容处理
    • bbs1org
      bbs1org
      版本 v10.5 更新:主题加粗更改为放大、优化UI细节
    • bbs1org
      bbs1org
      版本 v10.3 更新:帖子行末尾添加唯一 HTML 注释锚点,供插件整页级精准定位;操作区域添加上下间距和虚线分隔线
    • bbs1org
      bbs1org
      版本 v10.2 更新:优化主题页布局;帖子操作区新增更多弹层与相关hook改进支持
    • bbs1org
      bbs1org
      版本 v10.2 更新:优化主题页布局;帖子操作区新增更多弹层与相关hook改进支持
    • bbs1org
      bbs1org
      版本 v10.1 更新:精简内核10%,只保留核心功能、通用函数、hook;分离搜索和后台到optional目录;新增模板hook,方便插件彻底重构模板;最近浏览版块、论坛基础统计、SQL debug、个人简介卡片 全部改为插件实现,不再内置,可自由安装卸载;后台设置增加内容长度自定义配置;通知增加收件箱、发件箱二级过滤;优化CSS色系符合 WCAG AA
    • bbs1org
      bbs1org
      版本 v10.1 更新:精简内核10%,只保留核心功能、通用函数、hook;分离搜索和后台到optional目录;新增模板hook,方便插件彻底重构模板;最近浏览版块、论坛基础统计、SQL debug、个人简介卡片 全部改为插件实现,不再内置,可自由安装卸载;后台设置增加内容长度自定义配置;通知增加收件箱、发件箱二级过滤
    • bbs1org
      bbs1org
      版本 v10.1 更新:精简内核10%,只保留核心功能、通用函数、hook;分离搜索和后台到optional目录;新增模板hook,方便插件彻底重构模板;最近浏览版块、论坛基础统计、SQL debug、个人简介卡片 全部改为插件实现,不再内置,可自由安装卸载;后台设置增加内容长度自定义配置;通知增加收件箱、发件箱二级过滤
    • bbs1org
      bbs1org
      版本 v10.1 更新:精简内核10%,只保留核心功能、通用函数、hook;分离搜索和后台到optional目录;新增模板hook,方便插件彻底重构模板;最近浏览版块、论坛基础统计、SQL debug、个人简介卡片 全部改为插件实现,不再内置,可自由安装卸载;后台设置增加内容长度自定义配置;通知增加收件箱、发件箱二级过滤
    • bbs1org
      bbs1org
      版本 v10.1 更新:精简内核10%,只保留核心功能、通用函数、hook;分离搜索和后台到optional目录;新增模板hook,方便插件彻底重构模板;最近浏览版块、论坛基础统计、SQL debug、个人简介卡片 全部改为插件实现,不再内置,可自由安装卸载;后台设置增加内容长度自定义配置;通知增加收件箱、发件箱二级过滤
  • xxx

    沙发

    #1
  • qq

    板凳

    #2
  • php爱好者

    来顶一下

    #3
  • bbs1

    您好。谢谢您的程序

    #4
  • bbs1

    @admin

    #5
  • bbs1org

    @bbs1 #reply90 you are welcome

    #6
  • jkjoy

    撒花

    #7
  • bbs1org

    @jkjoy #reply93 谢谢支持

    #8
  • 特朗普

    支持啊

    #9
  • 111

    111

    #10
  • bbs1org

    v1.5发布:

    更新日志

    一、安全加固

    1. 退出登录、删除内容、管理员删/恢复数据、清理缓存等敏感操作,增加安全校验,防止被恶意劫持操作
    2. 替换浏览器原生确认弹窗,全站统一使用自定义弹窗
    3. 登录身份Cookie加强防护,杜绝跨站窃取、本地读取
    4. 获取访客IP仅读取服务器原始地址,防止IP伪造
    5. 服务器Nginx配置屏蔽隐藏文件,禁止外部访问

    二、站点基础配置

    新增固定网站地址配置项,不手动填写也会自动识别当前访问地址,适配容器、多虚拟主机部署场景

    三、在线升级功能优化

    1. 升级页面需管理员登录后才能访问,新增安全校验、操作确认、防重复执行锁
    2. 升级仅更新数据库结构,不会改动帖子、用户等业务数据,支持重复执行升级
    3. 配套文档补充Docker、虚拟主机环境的升级操作教程

    四、安装流程简化

    1. 全新安装时不再自动生成默认主题介绍帖
    2. 安装完成仅生成管理员账号、默认用户组、基础板块、数据表与缓存文件
    3. SQLite数据库报错简化,仅展示关键错误信息

    五、全站搜索性能升级(SQLite专用)

    1. 新增专属高速全文搜索数据表,收录帖子标题与正文
    2. 发帖、编辑、删除、恢复内容时自动同步更新搜索索引
    3. 前台帖子搜索、后台内容检索全部使用高速索引,不再全表慢速扫描
    4. 后台新增重建索引按钮,可自定义起始帖子ID;从1开始重建会完整更新检索规则
    5. 搜索智能区分关键词长度:
    • 2个字及以内短关键词:模糊匹配查询
    • 3个字及以上长关键词:高速全文检索

    六、后台界面交互优化

    1. 删除回复按钮宽度自动适配页面,排版更协调
    2. 删除、恢复、批量管理操作统一弹窗确认
    3. 重建搜索索引改为弹窗输入起始ID,操作更便捷

    七、数据稳定性优化

    1. 新增统一数据事务工具,多表同时修改数据时保证完整保存或全部回滚,避免数据残缺
    2. 发帖、编辑帖子、删帖、删回复、删除用户等操作全部启用事务保护
    3. 数据修改完成后再刷新缓存,保证数据库与缓存内容同步
    #11
  • xxx

    支持新版本

    #12
  • bbs1org

    bbs1org v2.0 更新日志

    对比版本:1.5

    主要更新

    1. 新增插件系统

    后台新增“插件”入口。

    现在可以:

    • 启用插件
    • 停用插件
    • 卸载插件
    • 保留或清理插件数据
    • 进入插件自己的后台管理页

    插件可以扩展侧边栏、后台页面、独立功能页、发帖和回帖处理等能力。

    2. 新增“每日签到”插件

    新增一个每日签到插件。

    用户可以:

    • 每天签到一次
    • 查看连续签到天数
    • 查看累计签到次数
    • 签到获得积分

    后台可以:

    • 查看签到记录
    • 设置签到卡片标题
    • 设置按钮文字
    • 设置固定积分奖励
    • 设置随机积分奖励

    3. 新增用户积分

    用户现在有积分。

    积分会显示在:

    • 个人侧边栏
    • 后台用户列表
    • 后台用户编辑页

    管理员可以直接调整用户积分。积分变化后,用户会收到系统通知。

    4. 新增附件上传

    发帖和编辑时可以上传附件。

    支持:

    • 图片附件
    • 普通文件附件
    • 多附件上传
    • 上传后自动插入到编辑框

    图片会作为图片插入帖子,普通文件会作为下载链接插入帖子。

    后台可以设置:

    • 附件数量限制
    • 单个附件大小限制

    5. 附件自动去重

    附件按文件内容保存。

    同一个文件重复上传时,系统只保存一份,减少空间占用。

    6. 后台管理优化

    后台做了多处改进:

    • 新增插件管理页
    • 新增签到管理页
    • 用户列表显示积分
    • 用户编辑页可调整积分
    • 主题管理增加回收站入口
    • 版块和用户组列表增加“添加”入口
    • 部分后台列表样式优化

    7. 通知体验优化

    修复系统通知的一些细节:

    • 系统通知不再跳转到 id=0 用户页
    • 回复跳转改为使用 replyid
    • 跳转到具体回复更稳定

    8. 移动端顶部优化

    移动端顶部增加搜索条。

    搜索条显示在“我的 / 登录”左侧,方便手机访问时快速搜索主题。

    9. Docker 和部署更新

    Docker 部署增加 upload 持久化目录。

    Nginx 配置增加:

    • 上传目录访问规则
    • 上传大小限制
    • 禁止直接访问危险上传文件

    手动部署时,需要确保这些目录可写:

    • data/
    • cache/
    • avatars/
    • upload/

    10. 文档更新

    README 增加:

    • 附件目录说明
    • 插件目录说明
    • 插件开发格式
    • 常用插件钩子说明
    • 部署目录权限说明

    升级注意

    从 1.5 升级到 v2.0 后,需要注意:

    1. 需要新增 upload/ 目录,并确保可写。
    2. Docker 部署需要使用新的 docker-compose.yml 和 Nginx 配置。
    3. 新增了用户积分字段。
    4. 新增了附件相关设置。
    5. 如果是旧站升级,建议先运行升级脚本并备份数据库。
    6. 插件等同于站点 PHP 代码权限,只建议安装可信插件。
    #13
  • qq

    更新真积极

    #14
  • gg

    顶

    #15
  • bbs1org

    2.0 后续工作日志

    静态资源与 SEO

    • 静态资源改为 /index.css?v=v2.0、/index.js?v=v2.0
    • page() 增加 SEO 参数
    • 首页才输出 keywords
    • 主题页、版块页、用户页输出 description / canonical
    • 主题页标题加入版块名
    • 主题页增加面包屑
    • 新增 robots.txt、sitemap.xml
    • 站点关闭时允许访问 robots.txt、sitemap.xml 和图标资源

    Debug

    • 后台增加 Debug模式
    • 开启后错误写入 data/debug.log
    • debug 日志记录请求方法和 URI
    • 记录 PHP error / fatal / 未捕获异常 / 普通 err()
    • not_found() 不再写 debug,避免普通 404 污染日志
    • uid=1 时显示完整异常
    • data/debug.log 加入 .gitignore

    用户与错误处理

    • 登录失败文案改为 用户名或密码错误
    • 注册/编辑用户前检查用户名重复,避免 SQLite UNIQUE 报错
    • 核心用户保存增加插件 hook:user.before_save、user.after_save
    • 发言权限增加 user.can_speak hook

    图标与 404

    • 新增 /favicon.ico
    • 新增 /apple-touch-icon.png
    • 新增 /apple-touch-icon-precomposed.png
    • 这些图标请求统一跳转到 logo.svg

    用户审核插件

    • 新增 plugins/user_review/plugin.php
    • 支持邮箱后缀限制,后台为单行输入框
    • 邮箱后缀不匹配时明确提示支持的后缀
    • 审核模式:
    • 关闭审核
    • 用户前 X 个主题/回帖审核
    • 用户注册需要审核
    • 主题审核数、回帖审核数分开配置和判断
    • 注册审核通过后才正式创建用户
    • 待审核内容进入后台审核队列
    • 首页侧边栏给管理员显示待审核卡片
    • 审核队列 UI 修正,参考签到卡片风格
    • 审核通过/拒绝改为 Ajax,成功后当前行自动消失
    • 审核结果通知用户,主题/回帖通知包含标题并链接到已发布内容

    前端

    • 通用 Ajax 表单支持 data-remove-target
    • 用于审核队列逐条审核后自动移除行

    样式

    • 增加主题页面包屑样式
    • 增加审核侧边栏按钮样式
    • 增加审核队列行布局样式,移动端也适配

    检查

    #16
  • 9

    666

    #17
  • 111

    支持

    #18
  • bbs1org

    2.2 更新日志
    增加投票功能

    #19
  • 鸡巴

    好程序

    #20
  • bbs1org

    v2.3 更新日志

    新增

    邀请码插件

    • 新增邀请码插件。
    • 支持后台启用 / 停用插件。
    • 支持设置注册是否必须填写邀请码。
    • 支持设置邀请成功后奖励邀请人积分数。
    • 支持用户查看自己邀请到的用户列表。
    • 支持用户使用积分兑换邀请码。
    • 支持后台生成邀请码。
    • 支持后台查看最近邀请码记录。
    • 邀请成功通知中显示被邀请用户名,例如:你邀请的用户xxx已注册成功。

    移动端版块导航

    • 移动端首页新增版块导航。
    • 移动端版块页也显示版块导航。
    • 当前版块仅加粗显示。
    • 版块导航区域底部增加统一横线。
    • 支持横向滚动,避免版块过多时挤压布局。

    优化

    移动端布局

    • 移动端侧边栏卡片仅在默认首页第一页显示。
    • 其他页面、搜索页、分页页不再显示侧边栏卡片,减少移动端干扰。
    • 首页 / 版块页移动端导航更轻量,改为纯文字排列。

    后台列表布局

    • 后台“主题 / 回帖 / 用户”列表调整为:
    • PC:两列布局,左侧内容,右侧操作。
    • 移动端:一列布局。
    • checkbox 移到右侧操作区,与“编辑 / 删除”按钮并列。
    • 后台插件列表统一调整为:
    • PC:两列布局。
    • 移动端:一列布局。

    插件后台列表

    • 统一各插件后台列表布局。
    • 修复部分插件列表内容被默认窄列挤压的问题。
    • 每日签到、用户审核、投票、邀请码插件列表均适配新的后台列表布局。

    邀请中心侧边栏

    • 邀请中心侧边栏卡片改为小卡片统计布局。
    • 显示:
    • 可用邀请码数量
    • 已邀请用户数量
    • 保留“进入邀请中心”入口。

    修复

    • 修复“最近邀请码”列表被挤爆的问题。
    • 修复“最近投票”列表被挤爆的问题。
    • 修复“我邀请到的用户”列表潜在布局挤压问题。
    • 修复注册后插件写入通知可能影响新用户登录 ID 的问题。
    • 修复邀请码邀请成功通知未显示被邀请用户名称的问题。
    #21
  • bbs1org

    v2.3.1 更新日志
    优化侧边栏卡片显示逻辑

    #22
  • 路边社

    支持支持

    #23
  • bbs1org

    更新日志

    核心

    • 版本号更新为 v3.0。
    • 扩展插件机制:
    • 新增插件市场基础能力:插件分享、远程安装/更新、本地版本/哈希对比。
    • 后台插件页新增“插件市场”入口。
    • 插件列表支持“分享”操作。
    • 插件支持入口显示开关:sidebar.feature_links、sidebar.stack。
    • 新增 topic.can_manage Hook。
    • 新增 auth.password_verified Hook,用于登录密码验证通过后的插件拦截。
    • 新增 profile.after_form Hook,用于个人资料页追加插件面板。
    • 登录/注册跳转改为支持 auth_return_url,登录完成后回到原访问页面。
    • Markdown 代码块支持语言标记,例如 ``` `php ```。
    • 站点关闭白名单加入插件市场相关路由和 two_factor 路由。

    两步验证插件

    • 新增 plugins/two_factor/plugin.php 插件。
    • 支持 TOTP 动态验证码。
    • 支持一次性恢复码,恢复码只保存哈希。
    • 个人资料页可启用、关闭、重置恢复码。
    • 登录时已启用用户需要二次验证。
    • 二次验证错误计入现有登录失败频率限制。
    • 后台插件页可查看已启用两步验证的用户统计。
    • 修复 2FA 表单被全局 Ajax 拦截后提示“操作失败”的问题,相关表单改为普通提交。

    移动端导航

    • 新增移动端左侧抽屉菜单。
    • 菜单 icon 移动到 logo 左边。
    • 右侧恢复独立“我的 / 登录”入口。
    • 移动端隐藏 logo 图标,只保留站点文字。
    • 抽屉菜单从左侧弹出,支持点击遮罩和 Esc 关闭。
    • 移动端菜单包含版块列表、我的菜单、快捷功能入口。

    插件入口与侧栏

    • 新增“快捷功能”侧栏卡片入口。
    • sidebar.feature_links 支持插件追加快捷链接。
    • 插件快捷入口支持数字徽标和红点提示。
    • 管理后台侧栏也改为走 sidebar_stack_html(),允许插件扩展。

    前端交互

    • 新增移动端菜单打开/关闭脚本。
    • 新增 data-auto-submit 自动提交能力,用于插件入口开关。
    • 通用 Ajax 表单支持服务端返回 modal 数据并打开弹窗。
    • 插件分享表单支持页面加载后自动提交。

    样式

    • 新增移动端菜单样式。
    • 新增快捷功能双列布局。
    • 新增插件入口开关、插件市场入口样式。
    • 新增两步验证设置面板和恢复码列表样式。
    • 优化每日签到独立页面样式。
    • 新增邀请码批量展示网格样式。
    • 调整插件列表布局,操作区更适合换行和移动端显示。
    • 全局 h2/h3/p 默认 margin 统一为 0。

    文档

    • 精简 README 插件部分。
    • 保留最基础插件机制说明:
    • 插件目录约定。
    • 最小插件示例。
    • hooks 基本写法。
    • 前台路由和后台 tab 的 manifest 写法。
    • 常用核心函数和可信插件提醒。
    #24
  • qq

    发来贺电

    #25
  • 111

    @admin #191 我顶

    #26
  • elm

    赞啊!我现在2.3.2版本,在update页面看不到升级呢?

    #27
  • bbs1

    好东西

    #28
  • bbs1

    支持啊

    #29
  • bbs1org

    更新日志:v3.1 -> v3.5

    新增

    • 支持 Markdown 表格渲染,并补充表格样式与发帖页 Markdown 提示。
    • 新增附件记录表,上传附件会记录文件名、类型、大小、所属用户等信息。
    • 个人主页新增“文件”标签,可查看用户上传文件、已用空间和空间上限。
    • 用户组新增“上传空间”限制,后台可为不同用户组设置上传配额,0 表示不限。
    • 新增插件 Hook:
    • topic.title_suffix:可在主题列表标题后追加内容。
    • topic.toolbar_actions:可在主题列表工具栏插入操作。
    • topic.after_view:主题页浏览后触发,携带回复列表、页码、分页大小等上下文。

    改进

    • 插件系统改为缓存插件元数据,并按需加载插件代码,减少每次请求的插件扫描和 include 开销。
    • 后台插件页改为“本地插件 / 插件市场”标签布局,并新增“刷新缓存”操作。
    • 插件市场安装或更新后会主动刷新插件缓存。
    • 回帖渲染 Hook 上下文新增 reply_position,便于插件判断楼层位置。
    • 后台用户、主题、回帖的筛选 SQL 逻辑统一整理,列表和总数统计更一致。
    • 通知已读更新改为只更新未读记录,减少无效写入。
    • 路由分发整理为静态路由表,核心入口更清晰。
    • 前端附件上传增强 JSON 解析错误处理,服务端异常返回时提示更稳。

    修复

    • 修正回帖后台检索时字段参数传递不一致的问题。
    • 修正插件 Hook、路由、后台标签在懒加载后函数未加载的问题。
    • 修正用户组缓存结构升级后可能缺少 upload_quota_mb 字段的问题。

    数据库变更

    • groups 表新增字段:upload_quota_mb
    • 新增 attachments 表
    • 新增索引:
    • idx_attachments_user
    • idx_attachments_hash

    升级说明

    • 从 v3.1 升级后,管理员登录后访问 update.php,执行数据库结构同步。
    • 手动放入 plugins/*/plugin.php 的插件,需要在后台插件页点击“刷新缓存”后显示。
    • v3.1 以前已存在的上传文件不会自动生成附件记录;新版本之后上传的文件会进入“文件”页并参与空间统计。
    #30
  • bbs1org

    欢迎更新

    #31
  • bbs1org

    新增附件记录表,上传附件会记录文件名、类型、大小、所属用户等信息

    #32
  • bbs1

    支持 Markdown 表格渲染,并补充表格样式与发帖页 Markdown 提示。

    #33
  • bbs1

    支持 Markdown 表格渲染,并补充表格样式与发帖页 Markdown 提示。

    #34
  • 9

    高产

    #35
  • FBI

    更新真快

    #36
  • devtest

    支持

    #37
  • bbs1org

    bbs1org v4.0 发布。增加 最后回复者的数据显示。请运行 update.php 进行升级

    #38
  • bbs1org

    跳过4这个数字,直接5.0

    #39
  • bbs1org

    5.2 更新日志:
    支持在线升级,优化seo标题

    #40
  • bbs1org

    5.6 更新:增加回帖排序设置,需同步数据库结构

    #41
  • 用户删除

    相当可以!!!!

    #42
  • bbs1org

    5.8 更新说明:
    支持发帖马甲;
    插件开发新约束:

    插件 CSS 和 JavaScript

    插件的固定 CSS、JavaScript 必须通过 assets 声明,不要通过 page.head、page.footer 输出 <style> 或内联 <script>:

    'assets' => [
        'css' => 'hello_css',
        'js' => 'hello_js',
        'scope' => 'all',
    ],
    • css、js 都是可选项,值是插件内资源函数名;资源函数不接收参数并返回字符串。
    • CSS 函数只返回 CSS 源码,不包含 <style> 标签。
    • JavaScript 函数只返回 JavaScript 源码,不包含 <script> 标签。
    • scope 可选:all(默认)、frontend(仅前台)、admin(仅后台)。皮肤类插件应使用 frontend,只服务后台管理页的插件资源可使用 admin。
    • 资源不得依赖当前用户、当前页面、CSRF 或每次请求才确定的数据。动态值应输出到插件 HTML 的 data-* 属性,再由合并后的 JavaScript 读取。
    • 按配置条件加载的第三方外部资源,例如 Turnstile 的 <script src="...">,可以继续通过 page.head 输出;插件自己的固定代码仍应放入 assets。
    • 只有已启用插件的资源会进入合并文件。不要直接编辑根目录的四个 plugins*.css/js 文件,资源重建时会覆盖它们。

    启用、停用、卸载、市场安装或更新插件后,系统会自动重新生成资源。直接上传或修改本地插件后,进入后台“插件”页面会检测文件路径和修改时间,仅在发生变化时重新生成。后台“插件”页面也提供“重建资源”按钮用于手动强制生成。

    旧插件仍可继续使用原有 Hook,但新写或修改插件必须采用上述资源机制。

    #43
  • bbs1org

    Docker 部署

    服务器需先安装 Docker Engine 和 Docker Compose 插件,并确保 80 端口未被占用。

    1. 下载并准备配置

    cd /opt
    git clone https://github.com/bbs1org/bbs1org.git
    cd /opt/bbs1org/docker
    cp .env.example .env

    2. 选择数据库

    启动前编辑 /opt/bbs1org/docker/.env:

    COMPOSE_PROFILES数据库安装时填写
    sqliteSQLite无需连接信息
    mysqlMySQL 8.4主机 mysql,端口 3306
    pgsqlPostgreSQL 18主机 postgres,端口 5432

    MySQL/PostgreSQL 的数据库名、用户名和密码使用 .env 中的 DB_NAME、DB_USER、DB_PASSWORD,HTTP 端口使用 HTTP_PORT;启用 MySQL 或 PostgreSQL 时必须修改默认密码。

    3. 完成安装

    docker compose up -d

    访问 http://服务器地址/index.php?a=install,按 .env 选择数据库并填写连接信息。

    #44
  • bbs1org

    bbs1org v6.0 发布!全面支持 SQLite、MySQL 和 PostgreSQL数据库

    #45
  • jkjoy

    支持支持

    #46
  • qq

    牛牛牛

    #47
  • 111

    bbs1org v6.0 发布!全面支持 SQLite、MySQL 和 PostgreSQL数据库

    #48
  • very1

    发现宝盒!非常好

    #49
  • bbs1org

    感谢支持

    #50
  • very1

    确实好用

    #51
  • 9

    666

    #52
  • 老马

    支持支持,好用

    #53
  • vvvxxx

    支持!!

    #54
  • rainbow

    老哥,我修改.env文件中数据库为mysql,也改了里面的密码,为什么安装总是显示:数据库连接失败:SQLSTATE[HY000] [2002] Connection refused

    #55
  • bbs1org

    主机 mysql,端口 3306

    #56
  • bbs1org

    优化细节,改session为cookie

    #57
  • bbs1org

    6.2 更新:
    优化细节,提升性能

    #58
  • dev1

    必须支持

    #59
  • rainbow

    牛逼

    #60

发表回复

登录后回复