За последние 24 часа нас посетили 18143 программиста и 1651 робот. Сейчас ищут 1660 программистов ...

windows 7 (32 bit) php не работает с сom-объектами.

Тема в разделе "Установка PHP", создана пользователем xrays, 22 окт 2010.

  1. xrays

    xrays Активный пользователь

    С нами с:
    22 окт 2010
    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте!
    ОС: windows 7 (32 bit)
    Apache/2.2.16 (Win32) PHP/5.2.14
    Код скрипта:
    Код (Text):
    1. <?php  
    2. // starting word  
    3. $word = new COM("word.application");
    4. echo "Word, version {$word->Version}\n";  
    5.  
    6. //bring it to front  
    7. $word->Visible = 0;  
    8.  
    9. //open an empty document  
    10. $word->Documents->Add();  
    11.  
    12. //do some weird stuff  
    13. $word->Selection->TypeText("This is a test...");  
    14. $word->Documents[1]->SaveAs("C:\\test.doc");  
    15.  
    16. //closing word  
    17. $word->Quit();  
    18.  
    19. //free the object  
    20. $word = null;  
    21. ?>
    Этот скрипт через com-объект сохраняет в word-файле некий текст.

    Сначала апатч под system запускался, потом я прочитал >- здесь -< и исправил чтобы служба апатч запускалась под моей учеткой(моя учетка админская) и скрипт стал работать через php.exe.
    Ползунок в UAC опустил до конца вниз. (C:\Windows\System32\UserAccountControlSettings.exe)

    Проблема в следующем:
    Если запускать его через http://localhost/word_test.php, то php выдает ошибку:
    Код (Text):
    1. Fatal error: Uncaught exception 'com_exception' with message '<b>Source:</b> Microsoft Word<br/><b>Description:</b> Ошибка команды' in C:\web\www\word_test.php:14 Stack trace: #0 C:\web\www\word_test.php(14): variant->SaveAs('C:\test.doc') #1 {main} thrown in C:\web\www\word_test.php on line 14
    Если же просто через cmd запустить php.exe и указать скрипт, то word-файл создается на ура.

    Что нужно исправить, чтобы через апач скрипт тоже на ура выполнялся?