gpt4 book ai didi

php - 在本地运行 Web 应用程序

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

我已经签订了一份构建期刊服务(Web、Android 和 iOS)的契约(Contract),该服务需要开发一个离线版本以便在 Windows 中使用,如果可能的话还需要在 Ubuntu 中使用。最终用户的 Web 界面和移动应用程序当前使用来自 API 网关 + Lambda( Node )+ RDS 堆栈上托管的 API 端点的数据运行。对于离线桌面应用程序,我想使用相同的浏览器客户端代码并运行本地服务器作为 API 端点。这要求我有一个系统可以在本地运行 MySQL 服务器,并且有一个同步系统可以将更新同步到本地服务器。

对于复制 MySQL 数据库的目的,推荐什么解决方案。最好是免费的。由于我处于重新设计项目的设计阶段,我目前愿意接受任何类型的建议,包括从 MySQL 转移。数据完全是文本内容,现在约为 8GB。它将在未来 2 年内慢慢扩展到大约 30GB。

最佳答案

这是可能的,但并不容易。我已经做过几次这种变体,包括 2 次混合使用 Linux 和 Windows 系统。几个关键步骤:

1 - 将所有系统配置参数 - 目录路径、MySQL 凭据、时区、API key 等 - 放在一个文件中。在每个 PHP 文件的顶部引用该文件(例如,require_once('serverinfo.php');。如果你做对了,你最终会得到除了那个文件之外的代码,对于多个 Linux 和 Windows 系统相同,前提是您在所有安装中使用相似的(例如 5.x)PHP 版本。

2 - 转移是一件痛苦的事,这一点毋庸置疑。要注意的是,由于系统不同(并且不是经常连接),您很可能无法使用任何官方“复制”。我使用了两种不同的方法,正确答案取决于客户的要求。如果传输主要是单向的,则两者效果最佳。

a) 添加更新时间戳和传输标志(如果有超过 2 个服务器,则为多个)。每当添加或更新记录时,将时间戳设置为 now() 和 transfer=1。要传输数据,请选择 transfer=1 并将所有内容放入文本文件(CSV、JSON 或您喜欢的任何格式)并将其传输到其他系统(FTP、电子邮件等)如果您可以在系统之间建立临时连接,则可以在两个服务器之间使用 https 接口(interface)“实时”传输数据。在接收时,第二台服务器检查时间戳以确保数据比您已有的数据更新并更新数据库。如果传输是实时 https 接口(interface),则向第一个服务器发回一条消息,告诉它清除传输标志。如果传输是基于文件的批处理模式,则在发送文件时需要重置传输标志(并希望它能到达另一端)。

b) 每次要传输时都转储所有内容。这可以是 mysqldump 或您自己编写的等效文件。这比第一种方法简单得多,但一旦数据达到一定大小通常效果不佳 - 那时您可能已经拥有 8 GB 的数据。

关于php - 在本地运行 Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45265930/

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