
先说说 5D6D 实现了哪些功能,解决了哪些需求吧
1.5D6D 注册后自动生成 discuz 论坛,解决了部署方便快捷的需求;
2.5D6D 生成的论坛核心程序是同一个,并不会同样的程序生成多份(当年我向管理反映问题时,管理在论坛目录下创建了个临时文件进行调试,我在另外论坛下访问同样可以访问到,从这点可以进行佐证)。解决的是统一管理,便于维护的需求;
3.附件和数据表可以导出,数据独立,(貌似一开始需要花金币才可以导出,最后需要购买官方虚拟主机才可以导出)。数据机动灵活,随时可以拆分。
然后说说我的猜想,可能说得不对,望大佬指正
第 1 点实现应该不难,生成的数据表应该加了字段,很可能是根据在 5D6D 上注册用户的 UID 来关联的;
第 2 点把临时文件和附件路径同样做了修改,应该也是根据 UID 来分别存放的;
第 3 点实现方式同第 2 点一样。
我想到的一些疑问:
以上方面实现后,怎么通过访问域名来判断识别要展示的某个论坛呢?因为程序是同一个,配置的数据库也是同一个,按一般的情况,多个域名绑定在同一台服务器上,展示的内容是一样的。这里是通过 HTTP_HOST 获取关联的 UID 然后读取对应论坛的数据么?那么数据库其实只有一个吧?但是很奇怪,当时我申请数据导出的时候,获取到的是数据库原文件(也就是直接在数据库目录下打了个压缩包给我,并不是导出的 sql 文件),如果是统一在一个数据库里肯定是通过 SQL 语句 where uid 来导出才是。
我想到的暂时只有这些,想了解一下真实的情况(如果有当年参与该项目的大佬看到的话),或者有经验的大佬们说说最有可能实现的方法,还有我没有想到的一些技术上的难题。
以上纯属小白的一些疑问和猜想,想得比较简单,请各位大佬们不要见笑,为小白扩展下知识。
1 lhx2008 2020-02-26 20:11:26 +08:00 via Android 站抖没了。。现在要弄肯定是 docker |
2 shansing 2020-02-26 20:52:12 +08:00 我曾想仿照 WordPress MU 制作 Typecho MU,自己想的大概是独立数据库+独立用户目录+通过 Host 分配的方法。总之我觉得“因为程序是同一个,配置的数据库也是同一个”不对。程序肯定是要进行二次开发的,不会跟原来一模一样。说不定思路就是独立数据库。 |
4 mayx 2020-02-26 21:17:39 +08:00 via Android 我觉着可能和负载均衡的原理差不多 |
6 batnss 2020-02-26 21:53:55 +08:00 硬逻辑 先生成多个程序和数据库 ; 然后看看哪里可以减; 一个个减下来 |
搞过单数据库多用户自主创建的 WordPress……简单的用一个四级域名产生一组标识,标注该 WordPress 归属于谁,并不新建 table。 |
9 veDone 2020-02-26 22:07:51 +08:00 虽然不懂你们在说什么,但是 10 多年前我小学五六年级用 5d6d 建了一个口袋妖怪游戏论坛。由于插件限制,5d6d 没有提供当时各大私人论坛非常火爆的“无心宠物”等其他游戏娱乐插件。让我一个小学生,第一次接触到了 PHP/Mysql 数据库等计算机技术。申请免费的国外空间,建了我第一个 BBS。都是回忆啊。 |
10 GM 2020-02-26 22:27:56 +08:00 根据你的描述: [当时我申请数据导出的时候,获取到的是数据库原文件(也就是直接在数据库目录下打了个压缩包给我,并不是导出的 sql 文件] 有且仅有一种可能:每个用户一个独立数据库。 那么怎么切换数据库呢? 我现在的公司有一个类似项目,大概原理如下( php 代码): $userId = getUserIdFromDomain(); $groupId = getGroupIdFromUserId($userId); $dbHost = getDbHostByGroupId($groupId); $cOnnStr= "mysql://{$dbHost}/{$userId}"; $cOnn= mysql_connect($connStr); $result = mysql_query($conn, ....); |
13 porwyn 2020-02-26 22:39:11 +08:00 想起以前也折腾过 |
14 qq292382270 2020-02-26 22:45:06 +08:00 数据库是独立的,文件同一个就没啥了. 没记错的话站长只有登录后台管理的功能,所以不同站点修改的东西只体现在数据库里,对文件无影响. WordPress 也有这样的功能,可以无限创建分站. |
15 y0bcn 2020-02-26 22:53:34 +08:00 @veDone +1,都是回忆,当年要申请的时候 5d6d 已经不开放了,当时 phpwind 也有一个,也不开放了,后来有了一个 mf530,玩了好久 |
16 6oML852dJf9Kn2l7 2020-02-26 23:00:29 +08:00 当年就是加了个 site_id |
17 keepeye 2020-02-26 23:14:26 +08:00 可能根据不同的域名连接不同的数据库? |
18 CRight 2020-02-26 23:21:37 +08:00 我的领地。满满都是回忆,申请也一点都不困难,也没实名制什么的。 |
19 yulon 2020-02-27 00:41:03 +08:00 就是虚拟主机只给你论坛的后台,连什么 docker、虚拟化都不用,多用户就行了,可能多用户都不用,HTTP 协议本来就可以区分域名 |
20 cnzfq 2020-02-27 00:59:02 +08:00 via iPhone @qq292382270 请问 WordPress 同样的功能怎么实现?有现成的插件吗? |
21 xiaoyanbot 2020-02-27 07:54:07 +08:00 修改 php 程序, 根据不同的访问域名, 链接不同的数据库即可 |
22 hopboy 2020-02-27 08:30:43 +08:00 5d6d lunqun topzj 满满都是回忆 |
23 leonard916 2020-02-27 09:01:29 +08:00 是加一套配置文件,代都是一的。 |
24 1QWxx6CtzA3CPgEQ 2020-02-27 09:35:17 +08:00 发展轨迹是:WEB 在线聊天室 -- BBS 论坛 -- QQ 群 -- 微信群 |
26 yu1u 2020-02-27 10:51:22 +08:00 没人想起 phpwind 吗 |
27 yu1u 2020-02-27 10:51:48 +08:00 还有 uueasy.ocom 免费论坛 |
28 tzheng 2020-02-27 10:53:41 +08:00 via iPhone 既然大家都在报菜名我就跟风回忆一下 70bb |
29 Keyes 2020-02-27 10:54:30 +08:00 5d6d,这个简直暴露年龄,没想到还有人记着 |
30 WinG 2020-02-27 10:57:11 +08:00 知道 5d6d 至少已经 30 了吧。 |
31 ccc008 2020-02-27 11:02:25 +08:00 回想起来,那时候的互联网环境简直是宽松的不要不要。 |
32 coosir 2020-02-27 11:03:14 +08:00 1. 每个站用独立的数据库 2. 所有站用同一套代码 3. 访问不同子域名对应不同站点,走对应站点的数据库 |
33 fuxkcsdn 2020-02-27 11:21:36 +08:00 在入口文件根据子域名加载不同的配置文件,数据库独立(简单,但 ddl 的时候必须每个数据库都执行)或者用个 site_id 做区分(麻烦,得修改 discuz 源码) 伪代码 ```php $subDomain = $_SERVER['SERVER_NAME']; $domainMap = require(GLOBAL_CFG_PATH . '/domain.map.php'); if (!isset($domainMap[$subDomain]) { // redirect to 5d6d home page } $cOnfig= require(SUBDOMAIN_CFG_PATH . $domainMap[$subDomain] . '/config.php'); // 常规的 discuz 流程 ``` 添加站点的时候也无非就是修改 domain.map.php 文件(用缓存的话就是写入缓存),然后拷贝一份配置模板到指定目录 nginx 或 apache 那边 server_name 配置成支持通配符即可 |
35 chinvo 2020-02-27 11:26:14 +08:00 via iPhone |
36 hiyouli 2020-02-27 11:32:10 +08:00 这么多年竟然还有人记得 5D6D,我的领地。哈哈哈。 哎,都是回忆。 |
37 zsen 2020-02-27 11:41:30 +08:00 @luguiyao 改过商城和 WP 系统,根据域名调用对应的配置文件(简单一点就配置文件名与域名一样就好了)。 然后配置文件中有数据库配置、上传文件目录、模版文件目录等等 除了程序是一样的,数据库、图片、文件等等都是独立的。甚至可以针对单独的站点做一些小的个性化的功能开发。 |
39 Zheming 2020-02-27 12:34:31 +08:00 via iPhone 我还申请过,我还没 30 |
40 WeAreNoName 2020-02-27 13:04:50 +08:00 @WinG 我 23,当年玩 5d6d 很疯狂。5d6d 让我选择了计算机专业 |
41 xmoer 2020-02-27 13:25:27 +08:00 哇,现在居然还有人讨论 5D6D,满满的都是回忆。 |
42 soho176 2020-02-27 13:25:28 +08:00 当时我高中,也是用 5d6d 搞了一个论坛 |
43 stillyu 2020-02-27 13:42:08 +08:00 没搞过 5d6d,但是用 discuz 折腾过论坛,用国外的免费空间,域名在 ename 上买的。 当时是高中,一个月放一次假,每周六下午可以出去玩,别人去网吧玩游戏,我去网吧搭论坛。。。 |
45 julyclyde 2020-02-27 18:17:20 +08:00 就是拿 host header 来识别的 内部有个查询表,绑定域名、5d6d 内部域名,对应一组设置,包括数据库信息、附件路径之类的内容 |
46 julyclyde 2020-02-27 18:20:48 +08:00 其实还有个字段,就是“这个论坛在哪组服务器上” 这个字段用于创建删除论坛、DNS 映射等 |
47 RickyC 2020-02-27 19:55:41 +08:00 多用户论坛, 难点在哪里? |
48 edk24 2020-02-27 20:44:34 +08:00 5d6d 好像是 discuz 7.2? 我刚开始接触网络的时候还在. 今年 23 了都 |
49 alect 2020-02-27 20:48:14 +08:00 让我想起 WordPress MU |
50 wuxingsanren 2020-02-27 23:02:08 +08:00 提起 5d6d,不经意间暴露你年龄的尺码。。 |
52 iihho 2020-02-27 23:39:43 +08:00 初中的时候开的 5d6d 班级论坛,现在 26 了,然而很遗憾并没有走计算机路线,有些后悔 |
53 huangweipeng 2020-02-28 09:15:03 +08:00 都是回忆呀 |
56 feedcc 2020-02-28 16:33:55 +08:00 via Android 已经在写了,penlogs.com 邀请码 assbbs |
57 yanheqi 2020-02-29 18:39:11 +08:00 D6D 那时候我用过。技术面的东西不懂。反正那时候我也弄过免费 5D6D 论坛。 之前还有个 锋行天下 5d6d 影视论坛,我还在里面。我自己也弄过自己的 5d6d 免费论坛。 |
58 zhd1994 2024-09-22 16:03:43 +08:00 全是回忆,当年追星,我们很多粉丝后援会都用 5d6d 申请 bbs |