我一直在尝试在脚本中打开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部分中的分号。
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的虚拟主机上使用的。
XAMMP
从PHP 5.4.5开始,COM和DOTNET不再内置在php内核中。您必须在php.ini中添加COM支持:
[COM_DOT_NET] extension=php_com_dotnet.dll
否则,您将在错误日志中看到此消息:致命错误:未找到类“ COM”
该扩展包含在Windows的php 5.4.5中。