У меня есть сервер Windows с Apache и PHP.Я пытаюсь открыть документ 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 Word97 - 2003
запустите Word заново и убедитесь, что нет диалогов, лицензии и т. Д.
перезапустите службу Apache
Но скрипт не работает.В диспетчере задач после запуска скрипта я наблюдаю за WINWORD.EXE с постоянно увеличивающейся памятью, но больше ничего не происходит.
После этого я переключаюсь на консольное приложение, и все работает!
Как я могусделать этот скрипт из Apache как сервис?Что я упустил?