当前位置: 首页 > 软件库 > 建站系统 > 论坛系统BBS >

Carbon Forum

高性能PHP论坛
授权协议 Apache v2
开发语言 PHP JavaScript HTML/CSS
所属分类 建站系统、 论坛系统BBS
软件类型 开源软件
地区 国产
投 递 者 海叶秋
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 贡献代码)

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

  • 提升了@ 功能的容错性

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

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



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

  • 前言 工作需要写一个简单的网站,就学习了下PHP,读了一套小型的论坛网站的代码,这里通过博客记录一下这几天的工作过程。 正文 首先是选择变成语言,虽然我懂Java,可是PHP这类脚本语言的入门不会太久,并且对于web开发,PHP市场占有率貌似达到百分之八十多,有问题也便于解决,所以呢,我们就选择了PHP。关于小型的论坛网站,在github上找了几个,貌似有比carbon小的,但是因为版本问题,没有

  • 如果不想访问的是根目录可以如下设置。 location /cf { try_files $uri $uri/ /cf/index.php?$query_string; }   这样访问 /cf 目录就可以访问论坛了。   一个很不错的论坛 转载于:https://www.cnblogs.com/xfbx/p/10153756.html

  • Caraballo, H. & King, K. Emergency department management of mosquito-borne illness: malaria, dengue, and West Nile virus. Emerg. Med. Pract. 16, 1–23 (2014). Stockholm Convention on Persistent Organic

  • 1. Speaker: Keith Head  Paper title:  Moving Parts: When more restrictive content rules backfire Abstract: Free trade agreements have rules of origin (ROO) that determine whether imports are eligible

 相关资料
  • xlswriter 是一个高性能 PHP C 扩展,可用于读取、写入 Excel 2007+ xlsx 文件,适用于 Linux,FreeBSD,OpenBSD,OS X,Windows。

  • php+mongodb能实现类似于”掘金“这个论坛的帖子功能,首页展示的基本上不会重复,并且都是随机的, 使用list存入文章id,然后把id变成随机的,但是重复刷新分页变成了1的话,数据又还原了,如果监听分页页数变成了1就重新排序一次的话,对于游客就不是很友好

  • 我正在用docx4j做一些测试。我需要做的是将复杂的Word文档(2-3页的文本、表格、项目符号列表、图像)转换成XHTML。

  • 我在我的应用程序中创建了第二个DataSource。 我用HikariDataSource创建了它,因为它断开了连接,所以出现了问题。 现在它没有断开,但是很慢 我的配置如下: 爪哇: 有人能告诉我如何提高绩效吗。 它们是表的小查询,分页约为25条记录,需要4秒钟。 我观察到,查询一个select的200条记录需要46秒,而查询只需要2秒。 以前,它们是千分之一秒。 非常感谢。

  • 我有一个cron作业方法,它根据用户的特色故事构建用户的故事提要,跟踪类别并跟踪用户。 最终提要按正确顺序添加到以下数据库表中: 用户提要表: Uid 方法如下,包含注释<代码: 对于30名用户,上述方法需要约35秒才能完成<问:我如何改进代码和性能?

  • imi v1.0.13 版本新增了一个 Swoole\Coroutine\Http\Server 实现的协程服务器。需要 Swoole 4.4+ 才可使用该特性。 该特性是可选的,不影响以前使用的服务器模式。 使用协程服务器特性,依靠 Linux 系统的端口重用机制,系统级的负载均衡,可以让你的多进程 Http 服务处理请求的能力得到提升。 使用 ab,本机->虚拟机(双核+2进程)压测Hello

  • 我有一个管道,我在其中对事件流应用转换规则(从广播状态);当我运行广播时 我已附上两种情况的快照: 顶部行显示来自Kafka的流消耗事件,底部行显示消耗的规则

  • 我们运行在apache kafka 0.10.0. x和Spring 3. x上,不能使用Spring kafka,因为它支持Spring框架版本4. x。 因此,我们使用原生的Kafka Producer API来生成消息。 现在我关心的是我的制片人的表现。问题是我相信有人打电话给是真正连接到Kafka broker,然后将消息放入缓冲区,然后尝试发送,然后可能会调用。 现在,KafkaProd