いくつかの com コンポーネントを必要とする新しいアプリケーションを構築していますが、コードを試すたびに
$obj = new com("Excel.Application") or die("Unable to create com object");
また
$obj = new com("zkemkeeper.ZKEM.1") or die("Unable to create com object");
また
$obj = new com("Bullzip.PDFPrinterSettings") or die("Unable to create com object");
こんな返事がいつも来ます
Fatal error: Uncaught exception 'com_exception' with message 'Failed to create COM object `X.X':
Access is denied. ' in C:\inetpub\wwwroot\XXXX\XXXX.php:X
Stack trace:
#0 C:\inetpub\wwwroot\XXXX\XXXX.php(X): com->com('Excel.Applicati...')
#1 {main} thrown in C:\inetpub\wwwroot\XXXX\XXXX.php on line X
ディレクトリ、dcom、アプリケーションなどの設定を確認して、これらのコンポーネントの使用を許可し、必要なアプリを既に登録してインストールしていますが、最後にこれを実行できません。
コンポーネントがインストールされ、アプリケーションに「表示」され、Java、vb、c# で既に試行され、それらの通信は正常に動作しますが、php では動作しません。
サーバーの仕様はこちら
- PHP 5.4.9
- IIS 7.5.7600
- Windows 7 Ultimate 64 ビット/Windows Server 2008 R2 64 ビット (両方のサーバーで試行)
何か案は?
更新、最終的にいくつかの com コンポーネントは Excel や bullzip のように動作していますが、zkemkeeper はまだ動作していません。その dll に関する有用な情報が見つかりません。私が見つけたのは、レジストリを編集し、guid と clsid を wow6432 に追加するソリューションだけですが、動作しませんでした私にとって、誰かがそのコンポーネントを使用しましたか? (つまり、zkemkeeper)