2012-05-21 15 views
24

He estado tratando de abrir un documento de Word en mi script, pero recibo el mismo error.Clase 'COM' no encontrado

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

Mi código:

<?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(); 

?> 

he tratado de cambiar php.ini y quitar los puntos y comas de COM sección.

[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 

y sigue recibiendo el mismo error.

Estoy usando un XAMMP en mac, y un alojamiento web basado en Linux.

+4

COM solo está disponible en Windows. –

Respuesta

112

Desde PHP 5.4.5, COM y DOTNET ya no está integrado en el php core.you tiene que añadir soporte COM en php.ini:

[COM_DOT_NET] 
extension=php_com_dotnet.dll 

De lo contrario, verá esto en el registro de errores: Error fatal: Clase 'COM' no encontrado

La extensión se incluye con php 5.4.5 para Windows.

+7

Esta respuesta es diamantes. – Petah

+0

No tenerlo activado por defecto es una mierda, sin embargo :( – ZJR

+0

esta Respuesta debe tener más de 100 votos positivos. Respuesta millonaria, sin dudas :) – chhameed

4

Ver COM Requirements:

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

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