4

我最近将旧的家庭服务器系统升级到了 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\ 文件夹可能是一种解决方法,但我只是不知道要放入哪些文件?我们是说我应该在那个文件夹中安装家庭自动化软件吗?肯定不是……!

谢谢!

4

1 回答 1

0

我也有这个问题。

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

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

于 2018-03-30T15:55:02.863 回答