Объектная модель компонентов PHP «Доступ запрещен»

Моя среда разработки — PHP 5.3, IIS 7.5 и Window7 Home. Я разрабатываю прототип приложения, для которого требуется функция PHP imagewindowgrab(). Эта функция требует вызова объектной модели компонентов Windows (COM).

Моя единственная строка кода была такой:


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

Она выдала следующую ошибку:


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

После нескольких часов поиска, блуждания по форумам .NET и нахождения хороших ресурсов:

Что, наконец, сработало для меня, так это следование инструкциям, изложенным в ответе. на этот ТАК-вопрос:
Доступ к объектной модели Office Word через asp.net приводит к ошибке «сбой из-за следующей ошибки: 80070005 Отказано в доступе».

И следуйте этим инструкциям следующим образом:

  1. В командной строке введите DCOMCNFG
  2. Щелкните правой кнопкой мыши в консоли Root > Служба компонентов > Компьютеры > Мой компьютер и выберите Свойства
  3. На вкладке Безопасность COM > Права доступа нажмите Редактировать значения по умолчанию и добавьте пользователя (например, IIS_IUSRS) или службу
  4. Отметьте разрешение локальный доступ

Похоже, это решило мои проблемы с правами доступа к среде COM из PHP.

11
задан Community 23 May 2017 в 12:17
поделиться