PHP和COM的帮助

PHP和COM的帮助,php,com,Php,Com,在PHP中与另一个进程通信的最佳方式是什么 更新:使用Windows,PHP5,调用COM程序集,COM可能需要,也可能不需要,我真的不在乎 更新:我正在尝试从PHP向Ascom(一个控制程序)发送一个命令。我主要需要执行方法和传递小参数。我还需要能够从中获取信息。ASCOM具有什么样的接口?做了一个谷歌搜索,但确实找到了几个程序。你最好的办法可能是写一个包装器,用C++或C++来封装COM组件。使用它的最简单方法是基于命令行 ASCOM.exe调焦器位置将显示调焦器的位置 ASCOM.exe

在PHP中与另一个进程通信的最佳方式是什么

更新:使用Windows,PHP5,调用COM程序集,COM可能需要,也可能不需要,我真的不在乎


更新:我正在尝试从PHP向Ascom(一个控制程序)发送一个命令。我主要需要执行方法和传递小参数。我还需要能够从中获取信息。

ASCOM具有什么样的接口?做了一个谷歌搜索,但确实找到了几个程序。

你最好的办法可能是写一个包装器,用C++或C++来封装COM组件。使用它的最简单方法是基于命令行

ASCOM.exe调焦器位置
将显示调焦器的位置

ASCOM.exe focuser move 25
会移动调焦器,但在移动之前不会返回

请确保您正在处理与此相关的多用户问题!如果有10个人试图移动仪器,你会遇到问题

编辑

在php中,可以使用
system()
exec()
命令调用外部命令。您应该使用
system()
,因为它会一直阻塞,直到命令完成

$pos=系统(“ASCOM.exe焦点位置”)
;将该位置置于
$pos
变量中。请记住,ASCOM.exe是您创建的一个程序,用于获取这些命令行参数并将其转换为相应的COM调用


阅读这篇微软关于做一个好朋友的文章。如果你喜欢使用C++,最后尝试,如果你在这些语言中的任何一个都不舒服,你可以很容易地。

< P>我使用PHP非常广泛,使用从我们的库中用C++构建的COM对象,在Windows 2003上用Apache作为Web服务器。大约五年来,它一直运作良好

您可以直接在PHP中实例化和使用COM对象。看看这里给出的Ascom摄像头界面,我希望它能正常工作;大概是这样的:

      $camera = new COM('ManufacturerName.Camera'); // COM class name made up
      $camera.NumX = 200;
      $camera.NumY = 200;
      $camera.BinX = 1;
      // Set more properties... then, having set $duration and $light:
      $camera.StartExposure( $duration, $light );
      // etc
也就是说,您可以按照预期的方式使用属性和方法。实际的COM类名将出现在仪器的文档中。您可以在制造商提供的任何示例代码中找到它

如果在web进程中使用它,请注意,每次为HTTP请求提供服务时,都必须重新实例化COM对象,并重新连接到该工具


试一试-你可能会惊喜地发现它是多么的简单。

你真的需要使用COM和/或拥有在Windows上工作的东西吗?或者一些面向Linux的mecanism可以吗?另外,您可以修改其他流程的代码吗?什么平台?什么样的过程?你想做什么?你能详细说明一下你想做什么吗?有COM,但它的文档记录很差,不能在所有情况下使用,也许有一种替代方法更合适。Protip:当某些事情不断发生,而一个不变的变量就是你,猜猜问题通常是什么?@Arlen PHP中没有进程内通信的标准。如果你稍微澄清一下你想做什么,你需要传输多少数据,以及在什么时间间隔内传输,你可能会得到一些可行的想法和方法。ASCOM是天文设备的独立于设备的COM驱动程序。我如何让它返回位置?事实上,如何从PHP调用它?如何使程序返回某些内容?