Windows Azure tools for eclipse (インストールがこける件)
Windows Azure は、いわゆる.NET系の言語だけでなく、JavaやPHPもサポートしています。.NET系の場合、Visual Studioを使用することで、GUIですらすらとデプロイできるのですが、JavaとPHPの場合でも、Windows Azure tools for Eclipseというユーティリティーを利用することでGUIベースで作業することができます(本件はいろいろなところに情報があります)。
これらのツール自体は昨年の秋ごろ発表され、その時に動作を確認したまま、それっきりにしていたのですが、再度利用しようと思い手元の環境にインストールしようとしたところ、インストールでこけてしまうので、その対応策(といっても、大した話ではありませんが)を。
インストールは、本家サイト
http://www.windowsazure4e.org/download/
に従って行えばいいのですが、ベースとなるEclipseとして、PDT 2.1 All in Onesを利用する方法と、素のEclipse (Classic?)を利用する2つの方法が紹介されているのですが、All in Onesを使用すると、はまります(正確にはPDTだけこけます)。
(追記:当時のバージョンeclipse-php-galileo-SR1-win32.zipなら動くようです)。
私は、Win7 x64環境なので、環境依存かな?と思い不必要にいろいろ試したのですが、結果として素のEclipse (3.6 Classic)をベースにDLTKとPDTを追加することで、結果としてWindows Azure Tools for Eclipse (PTD)をインストールすることができました。
----- 追記(2010年7月9日夜)-----
インストール自体は成功したのですが、ローカルでのテスト、「Run in Developmennt Fablic」を実行できない。この症状はX86とX64環境で異なるようである。
まず、X86
ダイヤログボックスが出て、デプロイが始まるが、結局、「FastCGIが落ちました」的エラーが発生する・・・。原因を調査したところ、どうやら、すでにインストール済みのPHPと、EclipseによりインストールされたPHPがコンフリクトを起こしている模様。
Web.configを書き換えることで対処する方法を見つけたが、PHP-CGI.EXEの場所を絶対パスで指定するため、AzureへUpの時は修正が必要だ。ローカルのバーチャルディレクトリを本番に似せることで回避することもできるらしいが、今日は疲れたのでテストしない。
(追記:この問題は、PHPフォルダ事態をプロジェクトフォルダにコピーすることで解決できます。ちょっとダサいですが、そっちのほうがソースの汎用性は高いです)。
この方法でなんとか動くのだが、「MSVCR71.dllが見つからない」的エラーがでる。いつか来た道だが、ま、深く考えなければハードディスク中に存在するMSVCR71.dllをSystem32にコピーすればとりあえずは動きます。
次にX64、
「Run in Development Fablic」を実行すると、瞬間何かしらのダイアログボックスが開き、その後、音沙汰なしという状況になる。X86と同様の対策をしてみるが、症状は変わらず・・・。こっちは根が深そうな感じ。こういうのは1日寝るとすらっと直したりできるので、今日は放置。
また、変化があれば更新します。
----- さらに追記(7月10日朝) -----
一晩寝たら、やっぱり解決しました。
X64で、と書きましたが、X64固有の問題ではありませんでした。原因は、Eclipse側で、指定されているWindows Azure SDKのバージョンがマッチしていないためでした。設定は、EclipseのWindows -> Preferences ->Windows Azure -> Setting のWindows Azure SDKをインストールされたSDKのPathに合わせます。デフォルトではVer1.1にセットされており、最新(私の場合、1.2)バージョンをインストールされている場合、動きません。X86環境には、1.1を入れていたので、動いていただけでした。X64環境では、MSVCR71に関するエラーは発生しませんでした。
しかし、誰でも直面しそうな問題なのに、ネットにまったくリソースがありません(私の検索方法が悪いだけかもしれませんが)。みんなAzureでPHP使ってんのかなあ。心配。
以上。