Mi entorno de desarrollo es PHP 5.3, IIS 7.5 y Windows7 Home. Estoy desarrollando una aplicación prototipo, que requiere la función PHP imagewindowgrab(). Esta función requiere llamar al Modelo de objetos componentes de Windows (COM).Modelo de objetos componentes PHP "Acceso denegado"
Mi línea de código era la siguiente:
$browser = new COM("InternetExplorer.Application") or die("Unable to instantiate IE");
Se produjo el siguiente error:
Fatal error: Uncaught exception 'com_exception' with message
'Failed to create COM object `InternetExplorer.Application': Access is denied. '
in C:\inetpub\wwwroot\trial.php:8 Stack trace: #0 C:\inetpub\wwwroot\trial.php(8): com->com('InternetExplore...') #1 {main} thrown
in C:\inetpub\wwwroot\trial.php on line 8
Después de buscar durante horas, arrastre a través de foros de .NET, y encontrar buenos recursos:
- http://forums.asp.net/t/1680634.aspx/1
- http://learn.iis.net/page.aspx/624/application-pool-identities/
Lo que finalmente funcionó para mí estaba siguiendo las instrucciones descritas en la respuesta a esta cuestión de forma:
Accessing Office Word object model through asp.net results in "failed due to the following error: 80070005 Access is denied."
y el seguimiento de esas instrucciones con lo siguiente:
- Por línea de comando ingrese
DCOMCNFG
- Haga clic en la derecha en la consola Root> Component Service> Computers> My Compute r y seleccione Propiedades
- En la ficha Seguridad COM > Permisos de Acceso clic en Modificar predeterminados y agregue el usuario (por ejemplo, IIS_IUSRS) o servicio
- de verificación Permitir acceso local
Esto parece haber tomado el cuidado de mis problemas de permisos de acceso con el marco COM desde PHP.
¡Bienvenido a SO! Debe poner su solución como una respuesta y luego aceptarla para dejarla más clara. – drew010