这是一个相当模糊的问题,但我有一段时间难以理解:
我在IIS上运行PHP并使用PHP's DOTNET function加载Microsoft的System.Speech类。
<?php
$recognizer= new DOTNET('System.Speech, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', 'System.Speech');
?>
将上述文件加载到浏览器中时出现500错误。
错误消息显示:
致命错误:未捕获的异常 'com_exception',消息'失败 创建COM对象 `SAPI.SpSharedRecognizer':访问权限是 否认。 “
想法?
答案 0 :(得分:0)
听起来,Web服务器帐户(IIS应用程序池标识)对您尝试在代码中打开的资源文件没有访问权限。
此外,您的代码中存在问题 - DOTNET函数需要两个参数 - 程序集名称和类名。您提供“System.Speech”作为第二个参数 - 这只是一个名称空间,而不是类。