跳到主要内容
铁匠铺
历史档案书摘与小说
返回历史档案
书摘与小说

从零开始搭建风花站

历史档案 · 保留原帖文字 · 35 条回复

php调试 可在 php 的源文件中增加 var_dump($var) ,刷新页面后可以看到输出 php的c扩展的调试可以使用 var_printf("%s\n", var); 编译、安装、重启php服务,刷新页面即可看到输出
关于@检测 @信息保存在 ~/home/ 的用户目录下的 .REPLY 文件中 原代码对@的检测只支持英文用户名,且用户名后需要有空格,这会导致@中文名无法检测出来 工具程序 ~/src/kbs_bbs/local_utl/rebuild_at.c 也可以一次性检出所有@信息,rebuild_at 函数会查找所有帖子的@出现位置,并在最多40个字符的范围内查找所有可能的@用户名,并附加到 .REPLY 中(重新生成所有用户的@信息,需要事先查找所有用户的.REPLY并删除),重新生成 .REPLY后,用户的@信息会重置为未读状态
关于两个楼层插贴 帖子信息保存在版面的 .DIR 文件中,且帖子的id是递增的,原代码的是没有插贴功能的,但由于同步贴吧帖子,有可能有楼中楼被回复、风花站有发帖且发帖时间晚于待同步的贴吧贴时间,这时就需要插贴了 实现原理:对每篇帖子的所有发帖信息生成缓存,缓存的发帖根据时间、帖子楼中楼信息等做升序、降速排序,如果有增加、删除发帖操作,会更新cache的信息 帖子信息缓存位置在 ~/cache/boards/ 目录(tmpfs)下,文件名为帖子id,php的请求下发后,首先判断是否有cache,如果无cache则生成,并读取cache 中的这篇帖子的所有发帖信息,上送php,如此则既加速帖子信息读取速度,且支持了插贴 详细信息可以查看 kbs_bbs/libBBS/article.c : gen_article_cache_by_groupid 函数
如何增加工具程序并编译 在维护过程中,可能需要编写工具程序,比如上面的增加铁匠权限啊、同步图片、解析@信息等等 工具程序的代码目录在 ~/src/kbs_bbs/local_utl 修改 ~/src/kbs_bbs/local_utl/Makefile.am 在变量 bin_PROGRAMS 增加一个工具的名字,并增加 .c 文件 使用命令重新生成 Makefile ./configure --prefix=/home/bbs --enable-site=fb2k-v2 --with-php --with-mysql --with-libatomic=/usr --with-libesmtp 然后 make 即可生成工具程序,make install生成工具到 ~/bin 目录
test big image[upload=1][/upload]

正在确认账号…