程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> win2003服務器使用WPS的COM組件的一些問題解決方法

win2003服務器使用WPS的COM組件的一些問題解決方法

編輯:PHP綜合
由於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管理員賬號運行,居然好了!。。。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved