AzureでPHPって動くんですか?

2010年11月2日(火)
田口 一博小木 ナツキ

初めての実行

[小木] プロジェクトの作成が終わりました。次は実行ですね。

画面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のビルドアクションを変更
スカイコード株式会社

主にマイクロソフトの技術を中心としたプログラマ兼システム管理者兼コンサルタント兼雑務係として従事。Microsoft Azureで少しでもラクに楽しく生きていこうと企む毎日。基本怠け者。

株式会社タクシーサイト

タクシーサイト開発担当。業務システムの開発に4年間従事。PHP、Object Pascal、C#などでプログラムの基礎の基礎を学び、その後他業種へ転職。ブランク後現在の会社に入社し、クラウドを一から勉強中。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています