COM コンポーネントは Windows 上でのみ使用できるため、プログラムは Windows サーバー上で実行する必要があります。ローカルでのセットアップとインストールには問題ありませんでした
Wps office 個人版の最新バージョン 12012 をインストールした後、完了したはずですが、プログラムを実行すると、次のエラーがサーバーに報告されます:
致命的なエラー: キャッチされない例外 'com_Exception' とメッセージ '失敗しましたCOM オブジェクト「WPS」を作成するには: アクセスが拒否されました。 ' in D:www9enjoy.comhx.php:12 スタック トレース: #0 D:www9enjoy.comhx.php(12): com->com('WPS.Application') #1 {main} が D:www9enjoy でスローされました。 comhx.php の 12 行目
この文を実行すると、 $wps = new COM("WPS.Application"); がエラーを報告します。いくつか検索した後、DCOM 構成でいくつかの構成を作成し、このプロンプトを解決しました。
1. [コントロール パネル] - [管理ツール] - [コンポーネント サービス] を開きます。
2. [コンポーネント サービス] パネルで、コンソールのルート ディレクトリを開きます - [コンポーネント サービス] - [コンピュータ] - [マイ コンピュータ] - [DCOM 構成]
3. Kingsoft Writer アプリケーション クラスを見つけます。 (Kingsoft Document Application Service)、プロパティ ウィンドウを開き、[セキュリティ] タブに切り替えます。 「起動およびアクティベーションのアクセス許可」で「カスタマイズ」を選択し、編集して全員のアクセス許可を追加します。 「アクセス許可」も同様です。
このエラー メッセージは問題なく、$doc = $wps->Documents->Open($src_filename); の実行中に別のエラーが発生しました
致命的なエラー: キャッチされない例外 'com_Exception' とメッセージ 'エラー [0x800706be] リモート プロシージャ通話が失敗しました。 ' in D:www9enjoy.comhx.php:15 スタック トレース: #0 D:www9enjoy.comhx.php(15):variant->Open('d:www9enjoy.com...') #1 {main} がスローされましたD:www9enjoy.comhx.php の 15 行目
[識別] タブで、スタートアップ ユーザーを対話型ユーザーに変更すると、別のエラー メッセージが表示されます:
致命的なエラー: キャッチされない例外 'com_Exception' とメッセージ 'Failed to create COM object `WPS.Application': 構成タイプが正しくないため、システムはサーバー プロセスを開始できません。ユーザー名とパスワードを確認してください。 ' in D:www9enjoy.comhx.php:15 スタック トレース: #0 D:www9enjoy.comhx.php(15): com->com('WPS.Application') #1 {main} が D:www9enjoy でスローされました。 comhx.php の 15 行目
繰り返し試しましたが、WPS の再インストールを含め、何も機能しませんでした。
「identification」タグの後、指定したユーザーを使用して実行します。これは失敗します。管理者アカウントを使用して再度実行すると、[OK] をクリックしたときにエラー メッセージがポップアップ表示されます。これら 2 つのオプション (ユーザーの開始とユーザーの指定) のどちらも、この COM コンポーネントを開始できないはずです。対話型ユーザーを使用する場合は問題ありませんが、ユーザー名とパスワードが間違っているというプロンプトが表示されます: (
事後テストで長時間実行されても、エラーが報告されない場合があります...次のエラー:
致命的エラー: D:www9enjoy.comhx.php:30 でメッセージ「COM オブジェクト `WPS.Application' の作成に失敗しました: サーバー操作に失敗しました」を含むキャッチされない例外 'com_Exception ' スタック トレース: #0 D:www9enjoy.comhx .php(30): com->com ('WPS.Application') #1 {main} が D:www9enjoy.comhx.php の 30 行目でスローされました
プロセス中、$ の後に実行が停止したこともわかりましたwps->Documents->Open を実行すると、プロセス内に wps または wpsupdate プロセスが表示され、更新されるたびに 1 つずつ表示され、最大で 30 を超えるそのようなプロセスが一度に検出され、場合によってはプログラムが検出されます。
最後に、このサイトの IIS 認証方法は管理者アカウントを使用して実行されており、機能します。