Синтаксис для вызова CoInitialize(); из PHP?

#php #com #windows-server-2008

#php #com #windows-server-2008

Вопрос:

Я пытаюсь взломать сервер, который превращает HTML в собственные документы Word. Это работает, но иногда я получаю следующую ошибку:

 Uncaught exception 'com_exception' with message 'Failed to create COM object `word.application': CoInitialize has not been called.
 

Я использую PHP, а не ASP или что-то более похожее на Microsoft, потому что предполагается, что это просто быстрый проект.

Я инициализирую COM-объект следующим образом:

 $word = new COM("word.application") or die("Unable to instantiate Word");
 

Кто-нибудь может сказать мне, как я могу вызвать CoInitialize() из PHP?

Большое спасибо

Ответ №1:

Убедитесь, что у вас нет поддельных копий WINWORD.EXE висит без дела. Я столкнулся с этой ошибкой, и когда я проверил, у меня было 36 копий WINWORD.EXE запущен. Очевидно, я пропустил некоторую логику при отключении от COM-объекта, поэтому каждый раз, когда я перезагружал скрипт, существующее WINWORD оставалось в подвешенном состоянии, пока запускалось новое. Как только я запустил все WINWORDs, ошибка исчезла.