使用PHP中的COM API访问应用程序的策略

使用PHP中的COM API访问应用程序的策略,php,windows,web-services,com,Php,Windows,Web Services,Com,背景:经验丰富的PHP开发人员,大多具有*nix背景 我正在编写一个需要与专有第三方系统交互的PHP应用程序。第三方系统仅适用于Windows。PHP应用程序将生活在一个独立的基于Linux的系统上 第三方应用程序被描述为有一个“COM API”,我需要从PHP应用程序中与之对话。从架构上讲,这看起来像什么?我从PHP手册的开头开始,但我有一些具体的问题 具体问题: 我可以从运行在另一台服务器上的PHP应用程序直接与COM API对话吗?如果是,怎么做?(我需要什么PHP扩展,或者我将使用什么协

背景:经验丰富的PHP开发人员,大多具有*nix背景

我正在编写一个需要与专有第三方系统交互的PHP应用程序。第三方系统仅适用于Windows。PHP应用程序将生活在一个独立的基于Linux的系统上

第三方应用程序被描述为有一个“COM API”,我需要从PHP应用程序中与之对话。从架构上讲,这看起来像什么?我从PHP手册的开头开始,但我有一些具体的问题

具体问题:

  • 我可以从运行在另一台服务器上的PHP应用程序直接与COM API对话吗?如果是,怎么做?(我需要什么PHP扩展,或者我将使用什么协议/PHP函数与API对话)

  • 如果第2个问题的答案是否定的,我会假设我需要在Windows机器上使用某种可以与COM通信的应用程序,然后在Windows机器上使用PHP提供服务。这类东西有预构建的框架吗

  • 这都是胡说八道和/或我说了一些非常愚蠢的话吗?(很有可能,因为我对“COM”的功能和不功能有点模糊)

  • 我显然不是在寻找一个完整的解决方案,我只是想大致了解什么是可能的,什么是不可能的,以及我想用谷歌搜索什么样的东西

    谢谢

    通常,“COM API”包含在DLL文件或Active X控件(有点像DLL文件)中,您可以从windows应用程序引用它,该应用程序将像加载任何其他DLL一样加载COM DLL。COM实际上只是一种使DLL更易于重用的尝试,以及解决DLL的许多其他问题

    所以第一个问题的答案是否定的。 第二个答案是肯定的。我个人会用WCF为COM API创建一个包装器。WCF基本上是一种用于构建web服务的Microsoft.NET技术。这将使在PHP中使用api变得更加容易。最大的障碍将是学习WCF以及弄清楚如何将COM api中的成员映射到web服务中的成员,因为数据类型可能需要以某种方式进行转换。WCF应用程序可以作为windows服务托管,也可以托管在IIS中,因此这种方式可以一举两得

    您可以选择使用.NET中在WCF之前存在的旧Web服务,我个人更喜欢WCF,因为它更灵活。如果您在microsoft用户极不友好的网络广播网站上点击足够多的次数,您可以在WCF上下载一系列视频:


    -3不,我不这么认为。

    +1这是一个好方法。我也完全同意你个人资料中的“关于我”。