我正在构建一个需要一些 com 组件的新应用程序,但每次我尝试代码
$obj = new com("Excel.Application") or die("Unable to create com object");
或者
$obj = new com("zkemkeeper.ZKEM.1") or die("Unable to create com object");
或者
$obj = new com("Bullzip.PDFPrinterSettings") or die("Unable to create com object");
我总是收到这样的回复
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `X.X':
Access is denied. ' in C:\inetpub\wwwroot\XXXX\XXXX.php:X
Stack trace:
#0 C:\inetpub\wwwroot\XXXX\XXXX.php(X): com->com('Excel.Applicati...')
#1 {main} thrown in C:\inetpub\wwwroot\XXXX\XXXX.php on line X
已经验证了目录、dcom、应用程序等设置以允许使用这些组件,已经注册并安装了所需的应用程序等等,但最后我无法让这个东西运行。
这些组件已安装并且对应用程序“可见”,已经尝试使用 java、vb、c# 并且这些 com 工作正常,但使用 php 无法正常工作。
服务器的规格是这个
- PHP 5.4.9
- IIS 7.5.7600
- Windows 7 Ultimate 64bit/Windows Server 2008 R2 64bit(在两台服务器上都试过)
有任何想法吗?
更新,最后一些com组件像excel和bullzip一样工作,zkemkeeper仍然无法工作,找不到有关该dll的任何有用信息,我所找到的只是一个解决方案编辑注册表并将guid和clsid添加到wow6432但没有工作对我来说,有人用过那个组件吗?(我的意思是 zkemkeeper)