是否可以使用PHP访问Linux中的COM对象?

时间:2009-06-22 15:29:54

标签: .net php com

一位朋友正在向我展示一个使用COM对象和SOAP接口创建的API。他向我展示了它在Windows上的php是如何工作的,但是我很怀疑它是否可以在linux或任何其他非Windows操作系统上实现。谢谢!

6 个答案:

答案 0 :(得分:5)

PHP中的COM库是Windows only extension.

的一部分

答案 1 :(得分:3)

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

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

答案 2 :(得分:2)

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

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

答案 3 :(得分:1)

如果你朋友的演示应用程序是通过SOAP接口调用COM API,那么为什么你不能在非windows平台上访问这些功能的原因应该很少。

答案 4 :(得分:1)

不,你无法从linux / unix访问com对象。只有赢得机器。

可能的解决方案是将另一个Web服务器放在将与COM对象通信的Windows机器上,而来自linux机器的php将与Windows机器上的php通信或在该COM周围构建一个Web服务?

答案 5 :(得分:0)

可能正在愚弄你可以“实现”的葡萄酒......但我怀疑它值得努力......

我想你最好的选择是运行一个Windows服务器,然后找出一些与它交互的方式,最好通过http ...

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