Класс "COM" не найден
Я пытаюсь открыть документ Word в своем script, но получаю ту же ошибку.
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.
Ответы
Ответ 1
Из PHP 5.4.5 COM и DOTNET больше не встроены в php-ядро. Вы должны добавить поддержку COM в php.ini:
[COM_DOT_NET]
extension=php_com_dotnet.dll
В противном случае вы увидите это в своем журнале ошибок:
Неустранимая ошибка: Class 'COM' не найден
Расширение включено в php 5.4.5 для Windows.
Ответ 2
См. Требования к COM:
Функции COM доступны только для версии PHP для Windows.
Поддержка .Net требует PHP 5 и среды выполнения .NET.