web-dev-qa-db-ja.com

クラス「COM」が見つかりません

スクリプトで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 

それでも同じエラーが発生します。

MacではXAMMPを使用し、LinuxベースのWebホスティングを使用しています。

34
Othman

からPHP 5.4.5、COMおよびDOTNETはphp coreに組み込まれなくなりました。php.iniにCOMサポートを追加する必要があります。

[COM_DOT_NET]
extension=php_com_dotnet.dll

それ以外の場合、エラーログに次のように表示されます:致命的なエラー:クラス 'COM'が見つかりません

拡張機能は、Windows用のphp 5.4.5に含まれています。

137
StXh

COM要件 を参照してください:

COM関数は、WindowsバージョンのPHPでのみ使用できます。

.Netサポートには、PHP 5および.Netランタイムが必要です。

7
user557846