【问题标题】:COM Word.Application in PHPPHP中的COM Word.Application
【发布时间】:2013-04-19 01:00:19
【问题描述】:

我正在使用我在 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 服务器上运行的。

【问题讨论】:

    标签: php com ms-word


    【解决方案1】:

    这行得通:

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

    进一步解释:

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

    【讨论】:

    • 您应该添加关于您从 OP 代码中更改的内容以及原因的说明。
    • 对不起...这里是新的,所以不确定协议。不需要释放,所以删除它并添加 unset($word);销毁变量的命令
    • 没问题!对不起,如果我看起来很粗鲁,那不是我的意思。我只是想让你对如何改进你的答案有反馈!添加有关解决方案的说明将帮助其他用户了解问题的答案! (请注意,您可以通过按共享和标记之间的编辑按钮在答案中进行编辑)
    猜你喜欢
    • 2019-02-20
    • 2017-11-01
    • 2010-11-06
    • 2015-01-15
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多