由於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管理員帳號運行,居然好了!。。。
http://www.bkjia.com/PHPjc/324946.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/324946.htmlTechArticle由於COM組件只能在windows上使用,因為程式必須放在windows的伺服器上運行。在本地xp系統上搭建安裝沒任何問題,在伺服器win2003上安裝,碰到...