AzureでPHPって動くんですか?
初めての実行
[小木] プロジェクトの作成が終わりました。次は実行ですね。
画面8:プロジェクト作成後の画面(クリックで拡大) |
[田口] そうですね。デバッグを実行してみてください。
[小木] [デバッグ]メニューの[デバッグ開始]を選択して、デバッグ開始!あれ?何かダイアログが表示されていますが、[OK]ボタンが押せませんよ。コードも設定も修正しないで、そのまま実行のはずじゃないんですか??
画面9:プロジェクト実行(開発ストレージの初期化中)(クリックで拡大) |
[田口] まあまあ、ちょっと待ちなさい。初回の実行では、[Development Storage Initialization]ダイアログが表示され、開発用ストレージ(Development Storage)の初期化が行われます。しばらくして開発用ストレージの準備が終わると[OK]ボタンが有効になるから、少しは落ち着いて。
[小木] 本当だ![OK]ボタンが有効になりましたので、[OK]ボタンをクリックしますね(ホッ)。
画面10:プロジェクト実行(開発ストレージの初期化完了)(クリックで拡大) |
[田口] 後は自動的に開発用ストレージと開発用ファブリックが開始され、ブラウザが起動し、ASP.NET Webロールのデフォルトページが表示されるはずです。
[小木] あっ、ページが表示されました。やった~!Azureと言ってもASP.NET Webアプリケーションなら、今までと同じような感じで開発できそうですね。ちょっと気が楽になりました。じゃあ、次に行きましょう!
画面11:プロジェクト実行(ブラウザ画面)(クリックで拡大) |
マイクロソフトのクラウドサービスでPHPが動く?
[田口] Azure 開発環境の準備が終わり、開発用ファブリックも問題なく動きましたので、次はPHPを動かしてみましょう。
[小木] 質問なんですけど、AzureでPHPは動くんですか?というか、AzureってIISですよね・・・。IISでPHPって動くんですか?
[田口] まず、IISでもPHPは動きますよ。マイクロソフトのサイト(PHP on IIS)では、IISでPHPを動かすための情報を発信していますので、ぜひ見てみてください。
画面12:PHPonIIS(クリックで拡大) |
[小木] ということは、AzureはIISだからPHPも動くということですね。
[田口] まあまあ、続きを聞きなさい。「AzureはIIS」ではなく「AzureのWebロールは、ほぼIIS7」って覚えておいた方が良いですね。
[小木] あっ! WebロールとWorkerロールがあるって何かで見た記憶が・・・
[田口] そうそう。そこ重要ですよ。Windows Azureには、WebロールとWorkerロールの2種類があり、IISでWebアプリケーションを動かす場合はWebロール、IIS以外の主にバックグラウンド処理に使われるのが、Workerロールなんです。Webロールは、ほぼIIS7と言ったように、IIS7と同様にFastCGIに対応していますから、FastCGI を使ってPHPは動きますし、PHP以外の言語も動かすことができますよ。
[小木] なるほど・・・。もう1つ質問があるんですけど、PHPで書いたプログラムもASP.NETと同じようにプロジェクトに追加するだけで動くんですか?
[田口] いえ、PHPの動作環境は自分で整える必要がありますね。まずは、PHPをダウンロードしてプロジェクトに追加し、PHPの設定までを行ってください。それと先ほど説明したようにFastCGIを使いますので、WebPIを使ってCGIのインストールも行ってください。
[小木] 設定不要で楽チン!って訳には行かないのは残念ですが、それほど難しくない感じはしますね。CGIのインストール、プロジェクト作成、PHPダウンロード、PHP設定ですね。やってみます。
PHPの動作環境を作る
CGIをインストールします。WebPIを起動して、Webプラットフォームを選択し、Webサーバーのカスタマイズをクリックします。CGIは、アプリケーション開発にあるので、選択して[インストール]をクリックしてインストールします。
※ここではCGIのみWebPIでインストールしてください。PHPはバージョンの都合もあり下記でWebPIを使わずにインストールしています。
画面13:CGIインストール(クリックで拡大) |
新規でCGI Webロールのプロジェクトを作成します。先ほどと同様に[Windows Azure クラウドサービス] を選択し、名前、場所、ソリューションは任意の名称やパスを入力して、[OK]ボタンをクリックします。[新しいクラウド サービス プロジェクト]では、今回は[CGI Webロール] を追加して、[OK] ボタンをクリックします。
画面14:CGI Webロールのプロジェクト作成(クリックで拡大) |
PHPをダウンロードしてプロジェクトに追加します。まずは、下記サイトから PHP5.3(VC9 x86 Non Thread Safe - Zip)をダウンロードしてダウンロードしたファイルを展開します。展開後、CGI Webロール プロジェクトの直下にphpフォルダを作成して、展開したファイルをコピーします。
画面15:PHPコピー後 |
参照リンク→ PHP For Windows
PHPの設定を行います。phpフォルダにあるphp.ini-productionをコピーして、php.iniを作成し、下記の値を編集します。文頭のセミコロンも外すのを忘れないようにしてください。
編集が終わったら保存して、php.iniの[ビルドアクション]を[コンテンツ]に変更します。
画面16:PHP.iniのビルドアクションを変更 |