AzureでPHPって動くんですか?
初めての実行
[小木] プロジェクトの作成が終わりました(画面8)。次は実行ですね。
画面8:プロジェクト作成後の画面(クリックで拡大) |
[田口] そうですね。デバッグを実行してみてください。
[小木] [デバッグ]メニューの[デバッグ開始]を選択して、デバッグ開始!あれ?何かダイアログが表示されていますが、[OK]ボタンが押せませんよ(画面9)。コードも設定も修正しないで、そのまま実行のはずじゃないんですか??
画面9:プロジェクト実行(開発ストレージの初期化中)(クリックで拡大) |
[田口] まあまあ、ちょっと待ちなさい。初回の実行では、[Development Storage Initialization]ダイアログが表示され、開発用ストレージ(Storage Emulator)の初期化が行われます。しばらくして開発用ストレージの準備が終わると[OK]ボタンが有効になるから、少しは落ち着いて。
[小木] 本当だ![OK]ボタンが有効になりましたので(画面10)、[OK]ボタンをクリックしますね(ホッ)。
画面10:プロジェクト実行(開発ストレージの初期化完了)(クリックで拡大) |
[田口] 後は自動的に開発用ストレージと開発用ファブリックが開始され、ブラウザが起動し、ASP.NET Webロールのデフォルトページが表示されるはずです。
[小木] あっ、ページが表示されました(画面11)。やった~!Azureと言ってもASP.NET Webアプリケーションなら、今までと同じような感じで開発できそうですね。ちょっと気が楽になりました。じゃあ、次に行きましょう!
画面11:プロジェクト実行(ブラウザ画面)(クリックで拡大) |
マイクロソフトのクラウドサービスでPHPが動く?
[田口] Azure 開発環境の準備が終わり、開発用ファブリックも問題なく動きましたので、次はPHPを動かしてみましょう。
[小木] 質問なんですけど、AzureでPHPは動くんですか?というか、AzureってIISですよね・・・。IISでPHPって動くんですか?
[田口] まず、IISでもPHPは動きますよ。マイクロソフトのサイト(PHP on IIS)では、IISでPHPを動かすための情報を発信していますので、ぜひ見てみてください(画面12)。
画面12:PHPonIIS(クリックで拡大) |
参照リンク→ PHP on IIS
[小木] ということは、AzureはIISだからPHPも動くということですね。
[田口] まあまあ、続きを聞きなさい。「AzureのWebロールは、基本的にはIIS7やIIS7.5」って覚えておいた方が良いですね。
[小木] あっ! WebロールとWorkerロールって何かで見た記憶が・・・
[田口]そうそう。そこ重要ですよ。Windows Azureには、WebロールとWorkerロールがあり、IISでWebアプリケーションを動かす場合はWebロール、IIS以外の主にバックグラウンド処理に使われるのが、Workerロールなんです。Webロールは、基本的にはIIS7又はIIS7.5と言ったように、FastCGIにも対応していますから、FastCGI を使ってPHPは動きますし、PHP以外の言語も動かすことができますよ。
[小木] なるほど・・・。もう1つ質問があるんですけど、PHPで書いたプログラムもASP.NETと同じようにプロジェクトに追加するだけで動くんですか?
[田口]いえ、PHPの動作環境は自分で整える必要がありますね。WebPIでAzure開発環境を整えたときにCGIはインストールされているので、まずはPHPをダウンロードして新しいプロジェクトに追加し、PHPの設定を行ってください。
[小木]設定不要で楽チン!って訳には行かないのは残念ですが、それほど難しくない感じはしますね。プロジェクト作成、PHPダウンロード、PHP設定ですね。やってみます。
PHPの動作環境を作る
新規でCGI Webロールのプロジェクトを作成します。先ほどと同様に[Windows Azure プロジェクト] を選択し、名前、場所、ソリューションは任意の名称やパスを入力して、[OK]ボタンをクリックします。[新しいWindows Azure プロジェクト]では、今回は[CGI Webロール] を追加して、[OK] ボタンをクリックします(画面13)。
画面13:CGI Webロールのプロジェクト作成(クリックで拡大) |
PHPをダウンロードしてプロジェクトに追加します。まずは、下記サイトから PHP5.3(VC9 x86 Non Thread Safe - Zip)をダウンロードしてダウンロードしたファイルを展開します。展開後、CGI Webロール プロジェクトの直下にphpフォルダを作成して、展開したファイルをコピーします(画面14)。
画面14:PHPコピー後 |
参照リンク→ PHP For Windows
PHPの設定を行います。phpフォルダにあるphp.ini-productionをコピーして、php.iniを作成し、下記の値を編集します。文頭のセミコロンも外すのを忘れないようにしてください。
【編集後の値】
//動的にロード可能な拡張モジュールを置くディレクトリを指定 extension_dir = "./ext" // タイムゾーンの設定 date.timezone = Asia/Tokyo // CGIとしてPHP を実行する際のセキュリティを確保 cgi.force_redirect = 0 // 本来の PATH_INFO/PATH_TRANSLATED サポートを提供 cgi.fix_pathinfo = 1 // セキュリティトークンを 匿名化する機能 fastcgi.impersonate = 1
編集が終わったら保存して、php.iniの[ビルドアクション]を[コンテンツ]に変更します(画面15)。
画面15:PHP.iniのビルドアクションを変更 |
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- AzureでPHPって動くんですか?
- WS2008 R2と最新OS Azureでのサーバー構築
- Azureにソフトをインストールしてみよう
- はじめてのWindows Azure Accelerator for Web Roles
- Worker RoleでWebアプリケーションを動かしてみよう
- サーバー構築とOSSのインストール
- Azureにソフトをインストールしてみよう
- Windows Web Server 2008 構築と運用のポイント
- Worker RoleでWebアプリケーションを動かしてみよう
- PHPとMySQLが利用できるWebサイトを、Windows Azureを使って手軽に作ってみよう