由于COM组件只能在windows上使用,因为程序必须放在windows的服务器上运行。在本地xp系统上搭建安装没任何问题,在服务器win2003上安装,碰到了N个问题,最后还是gump同学出手才解决,整整折腾了不少于10个小时才搞定。 安装完Wps office个人版最新的12012版后,按理说就完成了,但运行程序在服务器上报错如下: Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object WPS.Application': 拒绝访问。 ' in D:\www\9enjoy.com\hx.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>:12 Stack trace: #0 D:\www\9enjoy.com\hx.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>(12): com->com('WPS.Application') #1 {main} thrown in D:\www\9enjoy.com\hx.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a> on line 12 是运行这句就$wps = new COM("WPS.Application");报错。经过一翻查找,在DCOM配置里做了配置,<a href="https://www.jb51.cc/tag/jiejue/" target="_blank" class="keywords">解决</a>了这个<a href="https://www.jb51.cc/tag/tishi/" target="_blank" class="keywords">提示</a>。 1、打开控制面板 - 管理工具 - 组件服务 2、在组件服务面板中依次打开 控制台根目录 - 组件服务 - 计算机 - 我的电脑 - DCOM 配置 3、找到Kingsoft Writer Application Class(金山的文档应用服务),打开<a href="https://www.jb51.cc/tag/shuxing/" target="_blank" class="keywords">属性</a>窗口,切换到安全<a href="https://www.jb51.cc/tag/biaoqian/" target="_blank" class="keywords">标签</a>。将“启动和激活权限”选择<a href="https://www.jb51.cc/tag/zidingyi/" target="_blank" class="keywords">自定义</a>,编辑,<a href="https://www.jb51.cc/tag/tianjia/" target="_blank" class="keywords">添加</a>everyone权限即可。“访问权限”也一样处理。 这个<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a><a href="https://www.jb51.cc/tag/tishi/" target="_blank" class="keywords">提示</a>通过,运行到$doc = $wps->Documents->Open($src_filename); 时又出现<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a> Fatal error: Uncaught exception 'com_exception' with message 'Error [0x800706be] 远程过程<a href="https://www.jb51.cc/tag/diaoyong/" target="_blank" class="keywords">调用</a>失败。 ' in D:\www\9enjoy.com\hx.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>:15 Stack trace: #0 D:\www\9enjoy.com\hx.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a>(15): variant->Open('d:\www\9enjoy.com...') #1 {main} thrown in D:\www\9enjoy.com\hx.<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a> on line 15 在“标识”<a href="https://www.jb51.cc/tag/biaoqian/" target="_blank" class="keywords">标签</a>,将启动<a href="https://www.jb51.cc/tag/yonghu/" target="_blank" class="keywords">用户</a>改为交互式<a href="https://www.jb51.cc/tag/yonghu/" target="_blank" class="keywords">用户</a>,又出现了另一个<a href="https://www.jb51.cc/tag/cuowu/" target="_blank" class="keywords">错误</a><a href="https://www.jb51.cc/tag/tishi/" target="_blank" class="keywords">提示</a>: Fatal error: Uncaught exception 'com_exception' with message '<a href="https://www.jb51.cc/tag/Failed/" target="_blank" class="keywords">Failed</a> to create COM object
WPS.Application': 因为配置类型不正确,系统无法开始服务器进程。请检查用户名和密码。 ' in D:\www\9enjoy.com\hx.PHP:15 Stack trace: #0 D:\www\9enjoy.com\hx.PHP(15): com->com('WPS.Application') #1 {main} thrown in D:\www\9enjoy.com\hx.PHP on line 15 反复尝试,都不行,包括重装WPS。 后"标识"标签,使用指定用户运行,先使用网站用的用户运行,通不过。再使用管理员账号运行,点确定时也会弹出出错信息。应该是这两个选项(启动用户和指定用户)都无法把这个com组件启动起来。如果用交互式用户,是可以的,就是提示用户名和密码不对:( 后测试中有时出现长时间运行,一直不报错...还有出现过如下错误:
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `WPS.Application': 服务器运行失败 ' in D:\www\9enjoy.com\hx.PHP:30 Stack trace: #0 D:\www\9enjoy.com\hx.PHP(30): com->com('WPS.Application') #1 {main} thrown in D:\www\9enjoy.com\hx.PHP on line 30 期间还发现,由于执行到$wps->Documents->Open就停了,会在进程中出现一个wps或wpsupdate进程,每刷新一次出现一个。最多一次发现有30多个这类进程,有时还会影响程序,需要手工一个一个删除。 最后,使用了一个很BT的做法,将这个站点的IIS身份验证方式使用administrator管理员账号运行,居然好了!。。。