За последние 24 часа нас посетил 15741 программист и 1664 робота. Сейчас ищут 818 программистов ...

Помогите решить проблему

Тема в разделе "Прочие вопросы по PHP", создана пользователем diorg, 2 июл 2014.

  1. diorg

    diorg Новичок

    С нами с:
    2 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    Здравствуйте.
    Запускаю такой простенький скрипт:
    <?php
    $xWord=new COM("Word.Application") or die ("Ошибка запуска!");
    $xWord->Visible = 0;
    echo "Версия Word {$xWord->Version}";
    $xWord->Documents->Add();
    $xWord->Selection->TypeText("Hello, World!");
    $xWord->ActiveDocument->SaveAs("C:/Temp/test.doc");
    $xWord->Quit();
    unset($xWord);
    ?>
    и вываливается такая ошибка:
    Warning: (null)(): Invoke() failed: Ошибка. Source: Microsoft Word Description: Ошибка команды in D:\Apache\Apache2\htdocs\web\test\test_w1.php on line 7

    на серваке установлен Apache2, php4, Windows Server 2008R2, MSOffice2003
    при этом на моей машине все отрабатывается без проблем
    у меня конфигурация: все тоже только Win7x64
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    По какой-то причине у тебя дескриптор ворда не может отработать в том же потоке, что и пых. Мб прав не хватает, мб надо настройки какие покрутить. С винсервер как-то не приходилось работать. Мб там просто-напросто UAC срабатывает, или типа того.
     
  3. diorg

    diorg Новичок

    С нами с:
    2 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    По списку процессов видно, что winword запускается, но вываливает ошибку при сохранении документа, права на запись в каталог есть. Все конфиги аналогично с теми, которые на моей машине.
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Попробуй сохранить в папку самого проекта. Там получится?
     
  5. diorg

    diorg Новичок

    С нами с:
    2 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    Пробовал, таже ерунда.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Тогда не совсем все с правами-то радужно. Просто из пыха попробуй файл сохранить, сработает?
     
  7. diorg

    diorg Новичок

    С нами с:
    2 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    Так все работает без проблем. php и создает и сохраняет. И в папку самого проекта и в c:\temp\.
     
  8. diorg

    diorg Новичок

    С нами с:
    2 июл 2014
    Сообщения:
    5
    Симпатии:
    0
    и еще не понятно, почему если я ставлю в скрипте $xWord->Visible = 1, окно ворда не появляется.
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Потому что invoke() не отрабатывает. А вот почему он не отрабатывает - тут лично я хз. Мало инфы. И тем паче нет опыта работы с вордом из пыха под винсервером.