COM в PHP работает как-то коряво

navy

Guest
COM в PHP работает как-то коряво

Хотел поюзать шаблоны офиса из php.
Наковырял в мануале пример:

PHP:
<?  
// начальная word  
$word = new COM("word.
application") or die("Unable to instanciate Word");  
print "Loaded Word, version {$word->Version}\n";    
//переводим её на передний план  
$word->Visible = 1;    
//открываем пустой документ  
$word->Documents->Add();    
//делаем нечто сверхъестественное  
$word->Selection->TypeText("This is a test...");  
$word->Documents[1]->SaveAs("Useless test.doc");    
//закрываем word  
$word->Quit();    
//освобождаем объект  
$word->Release();  $word = null;    ?>
Результат: Пустое окно, скрипт работал секунд 5.
даже не выдал print.
В процессах повисли куча winword.

тут скриншот

Система: Winxpsp2, apache 1.3.x, php 4.3.6, Microsoft office 2003
и outpost firewall

Вот инфа из phpinfo();

Directive Local Value Master Value
com.allow_dcom Off Off
com.autoregister_casesensitive On On
com.autoregister_typelib Off Off
com.autoregister_verbose Off Off
com.typelib_file no value no value

Что я делаю не правильно?
 

Andrey_Ra

Новичок
Протестировано в php 4.0.x -> 5.0.5, сервер Apache 1.3.19 - Apache 2.0.55, MS Office 2000 - 2003:
$wordDoc = new COM("word.application"); //присоединяемся к ворду
$wordDoc->visible=0; //работаем с рабочим столом
if ($doc1=$wordDoc->Documents->Open($fin,false,true,false)){ //открываем документ, без диалогов, в режиме чтения
//тут все что угодно
} else {
echo "Ошибка открытия файла: '$fin'.";
return false;
}; //if ($doc1=$wordDoc->Documents->Open($fin,false,true,false)){ //открываем документ, без диалогов, в режиме чтения
if (($doc1->SaveAs($fout,$format))===false){
echo "Ошибка сохранения файла: '$fout'.";
return false;
};
$wordDoc->Quit(); //выходим
$wordDoc = null; //освобождаем
 

navy

Guest
блиииннн!!!
проблема решена!
Оказывается у меня был установлен сраный Zend Optimizer мать его.
Люди не юзайте эту чушь, она портит нервы и ломается за 15 минут (в яндексе есть подробное описание обхода лицензий и всего остального)
Я его удалил, теперь всё работает. тему можно закрыть.
 
Сверху