高性能PHP论坛 Carbon Forum

Apache v2
PHP JavaScript HTML/CSS
跨平台
2014-11-10
lincanbin

Carbon Forum,一个高性能的、高安全性的、基于话题的PHP轻论坛。
优秀的架构,高效的代码,每个页面平均执行时间仅为1~5毫秒,同时恰当地使用异步加载技术,在SEO与用户体验间取得平衡。
论坛摒弃了版块、节点等概念,发帖时无需选择板块,系统根据帖子内容自动推荐话题供用户选择,并且有功能强大而不显冗余的富文本编辑器。
支持关注用户、关注话题等功能,可以作为一个社交网站使用。


安装环境要求:
PHP版本高于5.3.6,并打开PDO_MYSQL(PHP 5.3以上默认支持PDO_MySQL,如果不支持请联系服务商)
支持.htaccess文件的解析(即Apache mod_rewrite或IIS ISAPI_Rewrite)


V3.6.5主要更新日志如下:

  • 支持通过邮件找回密码

  • 移动版重构

  • 移动版提升了滑动性能

  • 移动版支持拍照上传与图片上传

  • 移动版发帖回帖新增Markdown语法支持

  • 移动版加载速度提升

  • 移动版UI优化

  • 移动版实时消息推送(在内核Chromium 42+的手机浏览器上可以收到通知栏推送)

  • 提升了移动版对WP 8和iOS 7以下操作系统手机的兼容性

  • 支持QQ、微博、GitHub账号自动注册登陆

  • 已注册用户可以绑定以上社交账号并以该账号登陆

  • 支持Xcache k-v缓存

  • 新增话题广场

  • 话题页新增Icon与话题描述,管理员可以修改

  • 修复某种情况下会出现的编辑功能的一些界面上的bug

  • 改动权限:普通用户不可编辑自己的帖子

  • 主题页和点击量新增内存缓存,提升性能

  • 用户可以在发帖后再次修改话题

  • 注册时实时提示用户名是否可用

  • 提升了12年前发布的IIS 6及以下版本IIS的兼容性,修正了某些情况下可能出现的问题

  • 新增sphinx全文搜索功能(@virteman 贡献代码)

  • 添加dockerfile(@virteman 贡献代码)

  • 登陆时实时提示用户名是否有效

  • 提升了@ 功能的容错性

  • 后台添加了推送间隔设置功能

  • 后台添加了刷新统计数据的按钮

Screenshot_2015-09-15-00-38-23.png

Screenshot_2015-09-15-10-23-25.png

blob.png

1442112546318055.png


blob.png


V3.3.6主要更新日志如下:

实时消息推送

考虑PHP的限制与浏览器兼容性,最终选择了Long poll来实现实时的消息推送。用户可以自行调整长连接时长,建议调成120s(PHP最大超时时间也要相应修改)。
这个性能也相当不错,在开启Memcached的情况下,一台最低配的DO VPS大概可以承受50000人在线同时接受推送 ,换好一点的独立服务器可以更多。当然,50000人在线是足够绝大多数论坛使用的了。
同时使用了HTML5的Notification API,即使网页在后台被最小化,也可以继续推送通知,不受影响,让论坛变得像即时通讯工具一样高效。
img1

全站异步加载

即使服务器在美国,也实现了每次从客户点击到浏览器完全渲染完毕,耗时在400ms以内(网络线路正常的情况下),同时除了jQuery与我自己的global.js,其他js均以异步方式载入,非阻塞。
并且搜索引擎友好性并没有降低,配合我之前做的Sitemap等SEO优化,保证了高收录
img2

论坛历史数据统计

这是一个早就设计好的表了,这个版本把坑填上了,查看每天的新帖、总帖、新主题、总主题、新用户、总用户数量的变化。http://www.94cb.com/statistics (官网有快10年的数据,全部展开的话,浏览器有近20000个点要渲染,可能会比较慢)
img3

次要的

  • 繁体中文语言包加入(目前已支持简体中文、繁体中文、英语、波兰语)

  • 悬浮展示引用并回复的帖子的内容 img4

  • 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文件夹。

加载中

评论(3)

天下断无易处之境遇
天下断无易处之境遇
支持后台API 发帖、回帖吗?
l
liyaohuihu

Carbon Forum 携 Android 客户端重磅发布

客户端大体已经完成,登录、注册、看帖、发帖、回帖、通知、设置之类的基础功能都没问题了。 每个使用PHP轻论坛程序 Carbon Forum 的网站,都可以修改客户端源码中的接口信息,在三分钟内编译...

2015/11/23 15:32

PHP轻论坛 Carbon Forum 3.6.5 发布,手机版重构大提速 & 新增QQ/微博登陆、话题广场、邮件取回密码等新功能……

官网地址/演示地址: http://www.94cb.com/(使用手机访问会自动跳转至手机版,或者手机直接输入 m.94cb.com ) GitHub地址: https://github.com/lincanbin/Carbon-Forum 安装&升级说明:h...

2015/09/16 12:02

Carbon Forum 3.3.6 发布,支持实时消息推送

距离上个版本发布过去了两个半月,这是一个小版本更新,各位选择性升级。 官网地址/演示地址: http://www.94cb.com/ (使用手机访问会自动跳转至手机版,或者手机直接输入 m.94cb.com ) Gi...

2015/07/21 10:52

Carbon Forum 3.3.0 发布,拥抱移动互联网!

现在移动互联网使用热度越来越高了,Carbon Forum也顺应时势,并且布局两边不讨好的响应式布局,在V3.3.0推出了为移动互联网特别优化的手机版,同时在PC版也带来了大量更新。 官网地址/演示地...

2015/05/03 22:02

没有更多内容

加载失败,请刷新页面

没有更多内容

11
回答
二级目录装论坛程序,nginx环境。
PHP程斌 的回答 2017/01/22 21:37
最佳答案
问题已经解决。 location ~ /cc/ { rewrite ^(.*)$ /cc/index.php?$1 last; } 放在最下边。

没有更多内容

加载失败,请刷新页面

没有更多内容

carbon进程

本文档对carbon里面几个进程的功能进行简要描述

2016/07/05 09:54
134
1
Mac 安装wxWidget 3.01

1,Carbon和Carbon区别 Carbon是苹果电脑操作系统的应用程序编程接口(API)之一。 Carbon和Cocoa,X11,POSIX,JAVA并列成为Mac OS X五个主要的API。与Cocoa相较之下,Carbon是非面向对象(...

2014/11/14 09:53
49
0
How can Bitcoin set off carbon emission within the cryto-universe

According to a report on Digiconomist. Com, the electricity consumption of mining a single Bitcoin is expected to be about 1000 kilowatt hours, with the carbon emission goes up ...

2018/06/01 19:37
1
0
Carbon是什么?

Carbon

2016/06/22 15:23
26
0
使用Carbon和Polacode从你的编辑器创建代码截图

## Carbon Carbon是一个免费的开源库,用于创建和分享源代码的美丽图像。 你可以通过访问 [https://carbon.now.sh](https://carbon.now.sh)轻松使用Carbon。 无论是简单地开始在框中编写代码...

2018/04/25 10:03
369
0
使用graphite和grafana进行应用程序监控

# graphite+grafana 介绍 grafana,按照官方的说法是 `Beautiful metric & analytic dashboards`。grafana 负责数据的展示,可以配置各种不同的数据源,其中包括 graphite。 graphite 包含多...

2016/11/21 22:52
811
1
Laravel中Carbon时间格式本地化(变成中文)

Laravel使用PHP的一个扩展API–Carbon来处理时间。它提供了很多日期操作方法,其中 diffForHumans() 可以把日期转换成 “1 hours age”、“4 years age” 这样的格式,同时,它还支持本地化,...

2018/09/03 11:01
68
0
graphite

graphite 安装使用

2015/06/05 11:16
59
0
carbon配置

介绍graphite里面各种配置文件的作用和配置方法

2016/07/05 09:29
309
1

没有更多内容

加载失败,请刷新页面

返回顶部
顶部