PHPでCOMオブジェクトを使うまでの道のりは、
思っていたより険しかった。
WebサーバはIIS。
PHPは5.3.29。
Windows用のインストーラを使用。
<?php $co = new COM("Compornent.ClassName"); $co->procedure("argument");
まず出たエラーは、
PHP Fatal error: Class 'COM' not found in...
そのままじゃ使えないんだね。
ということでPHPサイトで確認。
php_com_dotnet.dll を php.ini で有効にしないといけないとのこと。
下記をphp.iniに記述して再実行。
[COM_DOT_NET] extension=php_com_dotnet.dll
あれ、ダメだ。
次のエラーは、
PHP Startup: Unable to load dynamic library '...PHPextphp_com_dotnet.dll' - 指定されたモジュールが見つかりません。
見つからない??
まさかそんな・・・と調べてみると、
無い・・・ほんとに無い・・・。
オプションとか全部入れ直してみても無い。
そこで改めてインストーラーではなく、
zipファイルをダウンロード。
解凍して見てみると・・・あった!!
zipにあったphp_com_dotnet.dllをコピペで解決。
インストーラじゃ入らないdllてなんだそりゃ・・。