win2003服务器使用WPS的COM组件的一些问题解决方法


Posted in PHP onJanuary 11, 2012

由于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.php:12 Stack trace: #0 D:\www\9enjoy.com\hx.php(12): com->com('WPS.Application') #1 {main} thrown in D:\www\9enjoy.com\hx.php on line 12

是运行这句就$wps = new COM("WPS.Application");报错。经过一翻查找,在DCOM配置里做了配置,解决了这个提示。

1、打开控制面板 - 管理工具 - 组件服务

2、在组件服务面板中依次打开 控制台根目录 - 组件服务 - 计算机 - 我的电脑 - DCOM 配置

3、找到Kingsoft Writer Application Class(金山的文档应用服务),打开属性窗口,切换到安全标签。将“启动和激活权限”选择自定义,编辑,添加everyone权限即可。“访问权限”也一样处理。

这个错误提示通过,运行到$doc = $wps->Documents->Open($src_filename); 时又出现错误

Fatal error: Uncaught exception 'com_exception' with message 'Error [0x800706be] 远程过程调用失败。 ' in D:\www\9enjoy.com\hx.php:15 Stack trace: #0 D:\www\9enjoy.com\hx.php(15): variant->Open('d:\www\9enjoy.com...') #1 {main} thrown in D:\www\9enjoy.com\hx.php on line 15

在“标识”标签,将启动用户改为交互式用户,又出现了另一个错误提示:

Fatal error: Uncaught exception 'com_exception' with message 'Failed 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管理员账号运行,居然好了!。。。

PHP 相关文章推荐
我的论坛源代码(二)
Oct 09 PHP
?算你??的 PHP 程式大小
Dec 06 PHP
PHP中利用substr_replace将指定两位置之间的字符替换为*号
Jan 27 PHP
关于js和php对url编码的处理方法
Mar 04 PHP
php自定义错误处理用法实例
Mar 20 PHP
CodeIgniter常用知识点小结
May 26 PHP
图文详解PHP环境搭建教程
Jul 16 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 PHP
php实现XML和数组的相互转化功能示例
Feb 08 PHP
关于 Laravel Redis 多个进程同时取队列问题详解
Dec 25 PHP
thinkPHP+LayUI 流加载实现功能
Sep 27 PHP
PHP 扩展Memcached命令用法实例总结
Jun 04 PHP
php通过COM类调用组件的实现代码
Jan 11 #PHP
关于IIS php调用com组件的权限问题
Jan 11 #PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 #PHP
比file_get_contents稳定的curl_get_contents分享
Jan 11 #PHP
学习使用curl采集curl使用方法
Jan 11 #PHP
PHP 日,周,月点击排行统计
Jan 11 #PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 #PHP
You might like
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
php使用curl访问https示例分享
2014/01/17 PHP
PHP根据IP判断地区名信息的示例代码
2014/03/03 PHP
php导出excel格式数据问题
2014/03/11 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
CI框架在CLI下执行占用内存过大问题的解决方法
2014/06/17 PHP
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
php自定义截取中文字符串-utf8版
2017/02/27 PHP
PHP实现获取文件mime类型多种方法解析
2020/05/28 PHP
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
javascript unicode与GBK2312(中文)编码转换方法
2013/11/14 Javascript
Node.js中require的工作原理浅析
2014/06/24 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
javascript 动态创建表格
2015/01/08 Javascript
javascript中函数作为参数调用的方法
2015/02/09 Javascript
Jquery解析json字符串及json数组的方法
2015/05/29 Javascript
深入理解关于javascript中apply()和call()方法的区别
2016/04/12 Javascript
JS实现的打字机效果完整实例
2016/06/20 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
详解使用nodeJs安装Vue-cli
2017/05/17 NodeJs
JavaScript中最常用的10种代码简写技巧总结
2017/06/28 Javascript
微信小程序入门之广告条实现方法示例
2018/12/05 Javascript
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
微信小程序开发中var that =this的用法详解
2020/01/18 Javascript
Vue项目移动端滚动穿透问题的实现
2020/05/19 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
[03:42]2014DOTA2西雅图国际邀请赛7月9日TOPPLAY
2014/07/09 DOTA
[00:08]DOTA2勇士令状等级奖励“天外飞星”
2019/05/24 DOTA
python遍历序列enumerate函数浅析
2017/10/17 Python
调用HTML5的Canvas API绘制图形的快速入门指南
2016/06/17 HTML / CSS
奥地利汽车配件店:Pkwteile.at
2017/03/10 全球购物
2015年幼儿园毕业感言
2014/02/12 职场文书
2016年圣诞节义工活动总结
2016/04/01 职场文书