【问题标题】:PHP MySQL Website to External SQL System IntegrationPHP MySQL 网站到外部 SQL 系统集成
【发布时间】:2011-04-19 18:36:12
【问题描述】:

我正在听取一些专业网络开发人员关于我的问题的最佳解决方案的意见。

设置

在我的工作中,我负责管理一家基于 osCommerce 的在线商店,该商店具有许多附加功能和调整。这是在 Linux 共享主机上,使用 PHP 和 MySQL 作为其主要技术。

我们正在升级我们的库存和订单系统,该系统基于 Microsoft SQL,并在我们网络上的数据服务器(戴尔服务器 PC)上运行。

问题

我希望在库存/订单系统和我们的网站之间实现更好的集成,例如获取最新的库存信息、检查价格等。最终的目标是将客户数据也链接起来。

我可能的解决方案

我目前在我们的 SBS 服务器上运行 XAMPP 进行开发,我用它来测试新代码,然后再上传到实时站点。

我在这个服务器上编写了一个 PHP 文件,它连接到 SQL 服务器并运行各种 SQL 查询,在 $_GET 数组中获取参数,以关联数组的形式检索结果,对结果进行 JSON 编码并回显编码的结果字符串。

网站只是使用这样的东西来获取和使用结果:

$result = file_get_contents('http://SBS-SERVER-IP/getinfo.php?partenquiry=' . $cleanStringPartNumber);

if ($result) $stock_info = (array) json_decode($result);

我认为这将是一个不错的解决方案,因为任何 SQL 登录,即使它是 SQL 的事实也不会暴露给网站,所以如果网站被入侵,它不应该破坏我们的系统。

我将确保 SQL 服务器的登录名只能访问 SELECT 数据,因为我不想更新/插入/删除任何内容,因为这可能会导致库存/订单系统出现问题。

另外,我正在考虑将结果缓存在某个地方,这样我们的库存/订单系统就不会遇到性能问题。

我确信有很多方法可以在两个系统之间传递数据,但我想确保我使用的是安全的解决方案,使用最有效和行业标准的方法来执行此操作。

我看到了 cURL、SOAP、XML、JSON 等技术,我想知道这些技术是否是理想的。

你有什么想法?

【问题讨论】:

  • 我不太确定我是否了解您当前的设置(或者我确定我不了解;-))。您现在的 linux/osCommerce 服务器或多或少是小型企业服务器上实际订购系统的缓存?而你想要一个单向同步 sbs->linux 服务器?您希望您的 linux 服务器在哪个时间点(时间或过程中)向 sbs 请求数据?
  • 您好 VolkerK,这两个系统是分开的。 SBS系统是用于管理库存/订单的Windows系统;销售团队添加通过电子邮件、电话、传真等(主要是贸易客户)收到的订单。 osCommerce 网站主要面向零售客户。当网站收到订单时,销售团队成员将手动将订单添加到我们的 SBS 系统。由于业务的性质,所有订单在处理之前都需要经过检查,然后才能放入 SBS 系统以及我们未在网络上列出的一些产品。所以我只是想从 SBS 系统请求某些信息并将其显示在网站上。
  • 我有一个解决方案,如上所述,但由于我自己学习 PHP 的所有内容,我总是很想知道我正在使用更多行业认可、安全和高效的方法。

标签: php sql mysql integration


【解决方案1】:

如果可能,我会使用 https 在两台服务器之间进行安全通信。 您使用哪种技术取决于您和您愿意学习的框架。 JSON 是将数据从 a 发送到 b 的最简单方法之一。

SOAP 实际上是 XML,但您不必担心 XML 本身。 使用 SOAP,您可以发送和存储对象。

使用 php 的序列化和反序列化,您也可以转换对象并发送它们,然后将该对象的内容存储到数据库中。

更多的是关于偏好和生产速度。

一开始学习新框架需要一些时间,但之后可以提高您的工作效率。

【讨论】:

  • 感谢您的回答 ITroubs,我没有考虑过 https,但是是的,我现在会确保它通过 https 进行通信。你对速度有什么看法?我读到使用 cURL 比使用 file_get_contents() 函数更快。
猜你喜欢
  • 2013-04-11
  • 2011-05-27
  • 2011-12-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-20
  • 2012-05-25
  • 2014-08-30
  • 2012-05-19
相关资源
最近更新 更多