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