2012-03-05 9 views
9

Moje środowisko programistyczne to PHP 5.3, IIS 7.5 i Window7 Home. Zajmuję się tworzeniem prototypowej aplikacji, która wymaga funkcji PHP imagewindowgrab(). Ta funkcja wymaga wywołania modelu obiektu składowego Windows (COM).Model obiektu składowego PHP "Odmowa dostępu"

Mój pojedynczy wiersz kodu było to:

 

$browser = new COM("InternetExplorer.Application") or die("Unable to instantiate IE"); 
 

Produkowany następujący błąd:

 

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 
 

Po poszukiwaniu godzin trolling poprzez fora NET, a znalezienie dobrych zasobów:

Co ostatecznie pracował dla mnie było, postępując zgodnie z instrukcjami podanymi w odpowiedzi na to SO pytanie:
Accessing Office Word object model through asp.net results in "failed due to the following error: 80070005 Access is denied."

i monitorowanie tych instrukcji z następujących czynności:

  1. Na w wierszu polecenia wpisz: DCOMCNFG
  2. Kliknij prawym przyciskiem myszy na konsolę Katalog główny> Usługi składowe> Komputery> Moje obliczenia R i wybierz Właściwości
  3. Na karcie Zabezpieczenia COM> Uprawnienia dostępu kliknięcie Edytuj Domyślna i dodać użytkownika (np IIS_IUSRS) lub Service
  4. Sprawdź umożliwić dostęp lokalny

To wydaje się być pod opieką moich problemów Uprawnienia dostępu z ramami COM od PHP.

+5

Witamy w SO! Powinieneś umieścić swoje rozwiązanie jako odpowiedź, a następnie zaakceptować je, aby było bardziej zrozumiałe. – drew010

Odpowiedz

2

To pytanie pojawia się bez odpowiedzi, ale odpowiedź sama się wyjaśniła. jestem tylko wprowadzenie tutaj: -

Wypróbowywany Code: -

$browser = new COM("InternetExplorer.Application") or die("Unable to instantiate IE"); 

Błąd Generated: -

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 

Kroki i zasobów, które pomogły rozwiązać: -

Dobre zasoby: -

http://forums.asp.net/t/1680634.aspx/1

http://learn.iis.net/page.aspx/624/application-pool-identities/

zasoby, które rzeczywiście pomagają rozwiązać: -

Accessing Office Word object model through asp.net results in "failed due to the following error: 80070005 Access is denied."

kroki: -

  1. W linia polecenia umieścić dcomcnfg
  2. kliknąć prawym na konsoli root> komponent usługi> Komputery> Mój komputer i wybierz Właściwości
  3. W Bezpieczeństwa Tab COM> Uprawnienia dostępu kliknij w Edycja Domyślnie dodać użytkownika (np. IIS_IUSRS) lub usługa
  4. Sprawdź Pozwól dostęp do lokalnych

Uwaga: Zadbaj o problemach Uprawnienia dostępu do ram COM od PHP.