Откройте документ Microsoft Word по PHP на Windows - PullRequest
2 голосов
/ 27 апреля 2019

У меня есть сервер 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 как службу, этот код перестает работать.

Что я сделал, пытаясь решить эту проблему:

  1. запустить службу apache подучетная запись обычного пользователя

  2. введите те же данные учетной записи пользователя в dcomcnfg.exe-> Корень консоли-> Службы компонентов-> Компьютеры-> Мой компьютер-> Конфигурация DCOM-> Microsoft Office Word97 - 2003

  3. запустите Word заново и убедитесь, что нет диалогов, лицензии и т. Д.

  4. перезапустите службу Apache

Но скрипт не работает.В диспетчере задач после запуска скрипта я наблюдаю за WINWORD.EXE с постоянно увеличивающейся памятью, но больше ничего не происходит.

После этого я переключаюсь на консольное приложение, и все работает!

Как я могусделать этот скрипт из Apache как сервис?Что я упустил?

...