1

我正在使用我在 PHP(Yii 框架)中使用 COM 编写的 Web 应用程序从模板创建 word 文档,当我尝试释放对象时收到错误消息

    $word = new COM("Word.Application") or die("Unable to instantiate Word");
    ....
    $word->Quit(); 
    $word->Release(); 
    $word = null; 

当我使用 Release 方法时,我收到错误 [0x800706be] 远程过程调用失败。事件查看器中没有错误,实际上它报告 Microsoft Office 会话持续了 17 秒并且会话正常结束,单词在任务管理器中仍然不活动,并且文档是按照代码生成的。我的问题是我是否需要使用 Release 方法 - Quit 并将对象设置为 null 是否足够?这是在使用 PHP 版本 5.4.7 的 Apache 服务器上运行的。

4

1 回答 1

2

这有效:

$word = new COM("Word.Application") or die("Unable to instantiate Word");
...
$word->Quit();
$word = NULL;
unset($word);

进一步说明:

Release 命令不是必需的,因此删除它并确保使用 unset($word); 命令在不再需要时销毁变量

于 2013-04-06T13:33:55.697 回答