PHP中的COM Word.Application

时间:2013-02-06 05:55:20

标签: php com ms-word

我正在使用我在PHP(Yii Framework)中使用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秒并且会话正常结束,word在任务管理器中仍然不活动,并且文档是根据代码生成的。我的问题是我需要使用Release方法 - 退出并将对象设置为null足够吗?这是在使用PHP版本5.4.7的Apache服务器上运行。

1 个答案:

答案 0 :(得分:2)

这有效:

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

进一步解释:

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