Carbon Forum,一个高性能的、高安全性的、基于话题的PHP轻论坛。
优秀的架构,高效的代码,每个页面平均执行时间仅为1~5毫秒,同时恰当地使用异步加载技术,在SEO与用户体验间取得平衡。
论坛摒弃了版块、节点等概念,发帖时无需选择板块,系统根据帖子内容自动推荐话题供用户选择,并且有功能强大而不显冗余的富文本编辑器。
支持关注用户、关注话题等功能,可以作为一个社交网站使用。
安装环境要求:
PHP版本高于5.3.6,并打开PDO_Mysql(PHP 5.3以上默认支持PDO_MySQL,如果不支持请联系服务商)
支持.htAccess文件的解析(即Apache mod_rewrite或IIS ISAPI_Rewrite)
支持通过邮件找回密码
移动版重构
移动版提升了滑动性能
移动版支持拍照上传与图片上传
移动版发帖回帖新增Markdown语法支持
移动版加载速度提升
移动版UI优化
移动版实时消息推送(在内核Chromium 42+的手机浏览器上可以收到通知栏推送)
提升了移动版对WP 8和iOS 7以下操作系统手机的兼容性
已注册用户可以绑定以上社交账号并以该账号登陆
支持XCache k-v缓存
新增话题广场
话题页新增Icon与话题描述,管理员可以修改
修复某种情况下会出现的编辑功能的一些界面上的bug
改动权限:普通用户不可编辑自己的帖子
主题页和点击量新增内存缓存,提升性能
用户可以在发帖后再次修改话题
注册时实时提示用户名是否可用
提升了12年前发布的IIS 6及以下版本IIS的兼容性,修正了某些情况下可能出现的问题
新增Sphinx全文搜索功能(@virteman 贡献代码)
添加Dockerfile(@virteman 贡献代码)
登陆时实时提示用户名是否有效
提升了@ 功能的容错性
后台添加了推送间隔设置功能
后台添加了刷新统计数据的按钮
考虑PHP的限制与浏览器兼容性,最终选择了Long poll来实现实时的消息推送。用户可以自行调整长连接时长,建议调成120s(PHP最大超时时间也要相应修改)。
这个性能也相当不错,在开启memcached的情况下,一台最低配的DO VPS大概可以承受50000人在线同时接受推送 ,换好一点的独立服务器可以更多。当然,50000人在线是足够绝大多数论坛使用的了。
同时使用了HTML5的Notification API,即使网页在后台被最小化,也可以继续推送通知,不受影响,让论坛变得像即时通讯工具一样高效。
即使服务器在美国,也实现了每次从客户点击到浏览器完全渲染完毕,耗时在400ms以内(网络线路正常的情况下),同时除了jQuery与我自己的global.js,其他js均以异步方式载入,非阻塞。
并且搜索引擎友好性并没有降低,配合我之前做的Sitemap等SEO优化,保证了高收录。
这是一个早就设计好的表了,这个版本把坑填上了,查看每天的新帖、总帖、新主题、总主题、新用户、总用户数量的变化。http://www.94cb.com/statistics (官网有快10年的数据,全部展开的话,浏览器有近20000个点要渲染,可能会比较慢)
繁体中文语言包加入(目前已支持简体中文、繁体中文、英语、波兰语)
悬浮展示引用并回复的帖子的内容
SSL支持
数十处细节修改
Timing attack防御
安装步骤:
1、解压后将Carbon-Forum-master文件夹内的文件上传至服务器,并确保服务器端程序所在目录可读可写。
2、运行HTTP://你的域名/install 安装,安装完成后请手动删除install文件夹。
3、安装完成后第一个注册用户会自动成为管理员。
4、如果需要额外的话题建议拓展包,请登陆http://www.94cb.com/t/2199 下载
如果你觉得这个项目对你有用,请到Github(HTTPS://github.com/lincanbin/Carbon-Forum )上给本项目一个star。
升级步骤:
1、备份好数据库和upload文件夹,这点非常重要!如果没有备份,请不要继续升级!
2、将解压出来的所有文件(除了upload文件夹)替换进原网站目录
3、运行http://你的域名/upDate 按说明升级,升级完成后请手动删除install和update文件夹。