我有带有Apache和php的Windows服务器。我正在尝试使用以下代码打开Microsoft Word文档:
<?php
$doc = __DIR__."\test.doc";
$word = new COM("word.application") or die ("Could not initialise MS Word object.");
$word->Documents->Open($doc);
// Extract content.
$content = $word->ActiveDocument->Content;
echo $content;
$word->ActiveDocument->Close();
?>
当apache作为控制台应用程序运行时,所有工作正常。但是,如果我尝试将apache作为服务运行,则此代码将停止工作。
我为解决此问题所做的事情:
以普通用户帐户运行apache服务
在dcomcnfg.exe->控制台根目录->组件服务->计算机->我的电脑-> DCOM配置-> Microsoft Office Word 97-2003
中填写相同的用户帐户信息再次启动Word,并确保没有对话框,许可证等。
重新启动apache服务
但是脚本不起作用。在任务管理器中,运行脚本后,我看到WINWORD.EXE的内存不断增加,但没有其他反应。
之后,我切换到控制台应用程序,并且一切正常!
如何从Apache作为服务来执行此脚本?我错过了什么?