【问题标题】:Is it possible to access to a COM object in linux with PHP?是否可以使用 PHP 访问 linux 中的 COM 对象?
【发布时间】:2010-11-04 21:34:28
【问题描述】:

一位朋友向我展示了一个由 COM 对象和 SOAP 接口构成的 API。他向我展示了它在 windows 上的 php 中是如何工作的,但我非常怀疑它是否可以在 linux 或任何其他非 windows 操作系统上实现。谢谢!

【问题讨论】:

    标签: .net php com


    【解决方案1】:

    PHP 中的 COM 库是 Windows only extension. 的一部分

    【讨论】:

      【解决方案2】:

      取决于 COM 对象的运行位置。 Linux 机器可以为 Windows 客户端浏览器提供 COM 对象 (ActiveX)。 Linux 机器可以对运行在 Windows 机器上的 COM 对象进行 SOAP 调用。

      但是,如果您想在 Linux 上运行 COM 对象,则至少需要为 Linux 重新构建它,并且可能会变成更 Linuxy 的东西(一个 .so)。可能任何 PHP COM 支持都没有移植到 Linux 版本,但您可以通过 C 绑定调用 .so 文件。

      【讨论】:

        【解决方案3】:

        据我所知,COM 是特定于 Windows 的(尽管 WINE 或 Mono 可能会让它在 Linux 下运行)。因此,如果将 COM 用作客户端代码的一部分,那么您可能就不走运了。

        如果 COM 对象在 Windows 服务器上运行并提供 SOAP 接口,那么您应该没问题 - 只需通过 HTTP 连接到 Windows 机器并发出 SOAP 请求。服务器无关紧要。

        【讨论】:

          【解决方案4】:

          如果您朋友的演示应用程序通过 SOAP 接口调用 COM API,那么您在非 Windows 平台上无法访问该功能的原因应该很少。

          【讨论】:

            【解决方案5】:

            不,您不能从 linux/unix 访问 com 对象。仅来自 win 机器。

            可能的解决方案是在 windows 机器上放置另一个 web 服务器,它将与 COM 对象通信,来自 linux 机器的 php 将与 windows 机器上的 php 通信,或者围绕该 COM 构建一个 web 服务?

            【讨论】:

              【解决方案6】:

              可能是在玩你“可以”取得某些成就的葡萄酒……但我怀疑这是否值得……

              我猜你最好的选择是运行一个 windows 服务器,然后想办法与之交互,最好是通过 http...

              如果 api 已经提供了一个肥皂接口,那么就使用它(就像 kev 说的那样),否则你应该开发类似的东西(就像 Chells 说的那样),或者可能更简单的东西,比如一个普通的自制 get/post 页面。 ..

              【讨论】:

                猜你喜欢
                • 2011-02-03
                • 1970-01-01
                • 1970-01-01
                • 2012-10-10
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2018-07-11
                • 1970-01-01
                相关资源
                最近更新 更多