2012-05-21 6 views
24

Я пытаюсь открыть документ Word в своем сценарии, но получаю ту же ошибку.Класс 'COM' не найден

Fatal error: Class 'COM' not found in /Applications/XAMPP/xamppfiles/htdocs/**/**.php on line 3 

Мой код:

<?php 

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

$word->Visible = 1; 


$word->Documents->Open("wordfile.docx"); 
$temp = $word->Dialogs->Item(228); // returns wdDialogToolsWordCount dialog object 
$temp->Execute(); //updates the word count 
$numwords = $temp->Words(); //gets the words out of it 

echo 'Word count = '.$numwords; 

$word->Quit(); 

?> 

Я попытался изменить php.ini и удалить из COM запятой раздела.

[com] 
path to a file containing GUIDs, IIDs or filenames of files with TypeLibs 
com.typelib_file = 
allow Distributed-COM calls 
com.allow_dcom = true 
autoregister constants of a components typlib on com_load() 
com.autoregister_typelib = true 
register constants casesensitive 
com.autoregister_casesensitive = false 
show warnings on duplicate constat registrations 
com.autoregister_verbose = true 

и по-прежнему получать ту же ошибку.

Я использую XAMMP на mac и веб-хостинг на основе Linux.

+4

COM доступен только на окнах. –

ответ

112

От PHP 5.4.5, COM и Dotnet больше не встроены в PHP core.you должны добавить COM поддержку в php.ini:

[COM_DOT_NET] 
extension=php_com_dotnet.dll 

В противном случае вы увидите это в своем журнале ошибок: Неустранимая ошибка: Class 'COM' не найден

Расширение включено в php 5.4.5 для Windows.

+7

Этот ответ - бриллианты. – Petah

+0

Не имея этого по умолчанию, отстой, хотя :( – ZJR

+0

этот ответ должен иметь 100+ upvotes. Millionaire Ответ, без сомнения :) – chhameed

4

См COM Requirements:

не

COM functions are only available for the Windows version of PHP.

.Net support requires PHP 5 and the .Net runtime.

Смежные вопросы