PHP COM не удалось на Windows 2008 Server - PullRequest
1 голос
/ 11 ноября 2009

Я использую COM в PHP для успешной работы с MS Word 2003 в Windows Server 2003, но тот же код не работает на сервере Windows 2008. Я изменил пользователя на администратора, но все еще произошла та же ошибка.

Для кода ниже:

<?php
// starting word
$word = new COM("word.application") or die("Unable to instantiate Word");
echo "Loaded Word, version {$word->Version}\n";

//bring it to front
$word->Visible = 1;

//open an empty document
$word->Documents->Add();

//do some weird stuff
$word->Selection->TypeText("This is a test...");
$word->Documents[1]->SaveAs("C:\\wamp\\www\\iword\\Useless test.doc");

//closing word
$word->Quit();

//free the object
$word = null;
?>

Я получил эту ошибку:

Loaded Word, версия 11.0 Неустранимая ошибка: необработанное исключение 'com_exception' с сообщением ' Источник: Microsoft Word
Описание: Команда не выполнена "в C: \ wamp \ www \ iword \ index.php: 14 Трассировка стека: # 0 C: \ wamp \ www \ iword \ index.php (14): option-> SaveAs ('C: \ wamp \ www \ iwo ...') # 1 {main}, выброшенный в C: \ wamp \ www \ iword \ index.php в строке 14

Ответы [ 2 ]

1 голос
/ 03 марта 2014

Службам Apache требуется 1 учетная запись окна, чтобы иметь разрешение на запуск сети. Просто вам нужно запустить apache через команду для тестирования. Не запускайте apache через сервисы.

0 голосов
/ 05 ноября 2010

В предположении, я бы сказал, что у вас есть проблема с разрешениями, когда вы не можете записать в этот каталог, я бы предложил попробовать тот же код из VBA, чтобы сузить вероятные точки отказа.

...