我正在使用我在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服务器上运行。
答案 0 :(得分:2)
这有效:
$word = new COM("Word.Application") or die("Unable to instantiate Word");
...
$word->Quit();
$word = NULL;
unset($word);
进一步解释:
Release命令不是必需的,所以删除它并确保使用unset($ word);命令在不再需要时销毁变量