先说说 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
硬逻辑 先生成多个程序和数据库 ; 然后看看哪里可以减; 一个个减下来
|
7
areless 2020-02-26 22:03:14 +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 1
当年就是加了个 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 1
5d6d
lunqun topzj 满满都是回忆 |
23
leonard916 2020-02-27 09:01:29 +08:00
這種應該是加載一套配置文件,代碼都是一樣的。
|
24
youx 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 1
@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 60 天前
全是回忆,当年追星,我们很多粉丝后援会都用 5d6d 申请 bbs
|