gpt4 book ai didi

php - 如何在使用相同的第二个数据库的站点上使用外部数据库中的单个表?

转载 作者:行者123 更新时间:2023-11-29 11:21:44 25 4
gpt4 key购买 nike

我有两个网站,我想让它们在 MySQL 中使用相同的用户表。

一个网站没有用户,另一个网站有 20,000 多名用户。我们将没有用户的网站称为 Site1,将拥有 20k 用户的网站称为 site2。

我希望在 site1 或 site2 上注册的用户在这两个网站上拥有相同的帐户,而不必设置两个帐户。

两个站点对用户表使用完全相同的数据结构,因此如果我可以在站点 1 上使用站点 2 的用户表,那么两个站点都可以使用相同的表。也就是说,在site1上注册的用户也将自动拥有site2上的帐户。

看似简单的方法是将用户表从 site1 导入到 site2,现在它是重复的。然而,事情并不那么容易。

site1 有固定用户注册,每天有 30 到 50 个;一旦我制定了这个新策略,它将是 self 营销,因此我也将为 site2 吸引用户。

如您所见,一一导入新用户是不可行的,每天导入用户也是不合理的。

所以我想做的是让 site2 简单地使用 site1 的外部数据库。

请注意,site1 和 site2 位于同一服务器上,位于同一 cpanel 中,具有相同的 phpmyadmin。因此,我们不必担心远程访问另一台服务器,因为它们位于同一服务器上。然而,他们有不同的数据库名称(当然)和不同的数据库用户/密码。

此外,我无法将数据库合并到一个数据库中,因为所有表都具有相同的名称但数据不同(两个不同的站点但使用相同的数据库系统)。否则,对 site2 的更改也会更改 site1,反之亦然,这是我不希望发生的,因为它们是两个不同的网站。

那么,如何允许 site2 仅使用 site1 数据库中的一个外部(但在同一服务器上)表(用户表)?

最佳答案

我对cpanel了解不多,也不确定您的托管公司在多大程度上管理该服务,但我猜应该可以使site2的代码连接到site1的数据库具体查询。只需使用 site1 的数据库名称(和访问凭据)建立单独的连接即可。

如果这不可能,另一种选择是在 site1 的代码中创建某种 API 层,并通过 HTTPS 等方式将该 API 公开给 site2(即 site2 的代码将使用 HTTP 函数(例如curl 库)来与 site1 通信并执行与身份验证相关的功能(即登录、注册等...)。

第一种方法可能更容易实现。如果您将来有更多站点,或者希望对数据库结构、托管位置、谁可以直接访问它们等更加灵活,则第二种方法可能更具可扩展性...

关于php - 如何在使用相同的第二个数据库的站点上使用外部数据库中的单个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38799934/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com