从PHP执行但从cmd执行时DCOM权限错误正常工作(officetopdf.exe)

从PHP执行但从cmd执行时DCOM权限错误正常工作(officetopdf.exe),php,windows,permissions,exec,dcom,Php,Windows,Permissions,Exec,Dcom,我需要一个php脚本来执行命令officetopdf.exe input.doc output.pdf,其中officetopdf.exe是一个使用安装的Office将Office文件导出为pdf的程序 执行时会抛出错误: '正在检索具有CLSID的组件的COM类工厂 {000209FF-0000-0000-C000-0000000000 46}由于以下原因失败 错误:80070005访问被拒绝。' 而且执行不正确 服务器具有IIS和Plesk面板。调用PHP的用户是使用Plesk创建的 当使

我需要一个php脚本来执行命令
officetopdf.exe input.doc output.pdf
,其中
officetopdf.exe
是一个使用安装的Office将Office文件导出为pdf的程序

执行时会抛出错误:

'正在检索具有CLSID的组件的COM类工厂 {000209FF-0000-0000-C000-0000000000 46}由于以下原因失败 错误:80070005访问被拒绝。'

而且执行不正确

  • 服务器具有IIS和Plesk面板。调用PHP的用户是使用Plesk创建的
  • 当使用
    cmd.exe
    直接执行
    officetopff.exe
    时,它工作正常
  • 这似乎是DCOM的权限问题
  • 在另一台Windows 8更改DCOM权限的计算机上,在我们办公室的本地环境中,它运行良好
  • 在服务器中首次安装office时,DCOM配置面板中不会显示所有DCOM应用程序。我不记得我们是如何添加的,但它不是自动添加的,因为Office是32位的,系统是64位的。如果安装了office 32位,则错误“检索COM类工厂”将更改为找不到类
  • 使用Windows 2012在2台服务器上测试

您能分享一些代码吗?嗨,谢谢!如果您回显exec('officetopdf.exe input.doc output.pdf'),代码非常简单,它会抛出所描述的错误。这是一个dcom权限问题,但我们无法解决。您找到解决方案了吗?我也有同样的问题。Windows 8计算机上的DCOM设置是什么?嗨!最后,我们设法使用wamp而不是IIS和更改DCOM权限使其正常工作。问题在于IIS。