我的开发环境是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论坛,找到了很好的资源:
最终对我有用的是遵循这个问题答案中概述的指示:
Accessing Office Word object model through asp.net results in "failed due to the following error: 80070005 Access is denied."
并按照以下说明跟进这些说明:
DCOMCNFG
这似乎解决了PHP对COM框架的访问权限问题。
答案 0 :(得分:2)
这个问题似乎没有答案,但答案有自我解释。 我只是放在这里: -
尝试过的代码: -
$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
有助于解决的步骤和资源: -
良好的资源: -
http://forums.asp.net/t/1680634.aspx/1
http://learn.iis.net/page.aspx/624/application-pool-identities/
实际有助于解决的资源: -
步骤: -
注意:从PHP处理COM框架的访问权限问题。