让PHP访问64位操作系统中的32位COM对象

时间:2012-10-12 07:06:09

标签: php windows apache com dcom

我最近将旧的家庭服务器系统升级到64位系统(Win 7),并且在使用PHP访问32位家庭自动化DCOM对象时遇到问题。我正在运行32位Apache,据我所知,32位PHP(我不认为有64位版本可用)。这个设置和我旧的(但工作)设置之间的唯一区别是,我运行的是64位Windows 7而不是32位。

当我重新安装所有内容时,我最初感到困惑的是我无法配置对DCOM对象的访问,因为dcomcnfg.exe没有显示它。在我意识到必须启动32位版本的dcomcnfg.exe才能看到DCOM对象(mmc comexp.msc /32)之前的一段时间。

我现在正试图在PHP中访问这个32位DCOM对象,但它不起作用。考虑到Apache和PHP是32位的,我奇怪的是我无法用PHP编写脚本来访问这个COM对象。

有谁知道如何在PHP中访问这个(非常旧的)32位COM对象?

此处显示了我正在尝试执行的操作的代码段:

    $hs = new COM("HomeSeer.clsString") or die("Unable to get DCOM object");
    $hs->ExecX10("a5","on","0","0");
    unset($hs);

我真的希望有人可以提供帮助,否则这种向64位Windows的过渡对我来说将是一场灾难!

我已经在不同的地方读过如何将文件放入c:\ windows \ syswow64 \文件夹可能是一种解决方法,但我只是不知道要放入哪些文件?我们是说我应该在该文件夹中安装家庭自动化软件吗?当然不是......!

谢谢!

1 个答案:

答案 0 :(得分:0)

我也有这个问题。

到目前为止,我的研究表明这是不可能的。可能的一种方法是通过IIS(为64位应用程序启用32位DLLS)。我尝试了但无济于事。

希望有人比我更了解Windows知道如何做到这一点。