![]() |
特集:PHP on Windows Azure PHP開発者もクラウド開発を始めよう! デジタルアドバンテージ 一色 政彦2009/07/28 |
|
|
2009年7月16日、Webデザイナ/Web開発者向けのイベント「ReMIX Tokyo 09」が東京ミッドタウン・ホールにて開催され、新登場したSilverlight 3や、マイクロソフトのクラウド・プラットフォームと絡めたWeb開発などのセッションが開かれた。その中でも、今回レポートするのは「Silverlight + PHP (FastCGI) + Windows Azure で作る初めてのクラウド アプリケーション」というセッションだ。
セッションの前半では、Windows Azure Platform(従来は「Azure Services Platform」と呼ばれていた)の概要やWindows Azureでの基本的な開発/運用方法が、マイクロソフトの関田文雄氏から説明された。Windows Azureでは、.NETだけでなく、PHP、Python、Rubyなどの言語でも開発できる。
関田氏によると、「実はPHPやPythonもVisual Studio(無償のWeb Developerを含む)を使うことができる」という。通常の.NET開発とPHPなどの他開発の環境の違いを、関田氏は次のスライドを使って説明した。
![]() |
| 通常の.NET開発とPHPなどの他開発の環境の違い(右下は関田氏) |
セッションの後半では、関田氏の説明内容を踏まえ、Windows Azure上に乗せるPHPアプリケーションの開発手順のデモや開発時のポイントが、アシアルの亀本大地氏から説明された。アシアルは、Visual Studio内で動作するWindows用PHP開発環境「VS.Php」などを販売しており、PHP開発に詳しい企業だ。
![]() |
| デモを行う亀本氏 |
本稿では、後半のPHP開発のパートを取り上げ、セッション内で説明された内容を紙面で再現する。なお、Windows Azure自体の基本的な使い方は「特集:Windows Azure開発入門」を参考にしてほしい。以下、「アプリケーション」は「アプリ」と略す。
■PHP開発でWindows Azureを利用する理由
そもそもWindows Azureというマイクロソフト技術を基盤としたクラウド・プラットフォーム上で、非マイクロソフトでオープンソースのPHP開発を行うメリットはどこにあるのだろうか?
これについて亀本氏は、「PHPでは、これまでに数多くのオープンソースのWebアプリ(例えばWordPressやPukiWikiなど)が作成されてきており、企業としても既存の資産が生かしやすいこと」を理由として挙げた。さらに、「確かにWindowsサーバ上にPHPアプリを乗せる事例は、Linuxの例ほど多くはない。しかしWindowsサーバを使うことで、社内ネットワーク環境をWindowsプラットフォームに統一でき、これにより運用・管理コストを減らせる」と語った。それがクラウドOSのWindows Azureともなれば、Windowsサーバの運用・管理はほぼ自動化されるので、システム開発企業は「アプリ開発だけに集中できるようになる」(亀本氏)というわけだ。
さらに、亀本氏が考える「PHP開発でWindows Azureを採用するメリット」として大きいのは、「SQL Azure」(以前は「SQL Services」と呼ばれていた)だという。「RDBMS(リレーショナル・データベース管理システム)のデータベースをクラウドでも使えるので、既存のアプリをシームレスにクラウド上に乗せられる」(亀本氏)からだ。
セッションでは、以上の話を前置きとして、具体的なPHP開発のデモンストレーションが行われた。以降では、その内容をひととおり再現していこう。
なお、ReMIX Tokyo 09後の7月21日にWindows Azure開発環境の新版(CTP 2009年7月版)がリリースされたので、本稿ではその最新開発環境を用いている。そのため、実際のデモとは異なる画面や手順が登場する。また、本稿は筆者の記憶に基づき再現しているので、細かい部分のコードは異なる。ご了承いただきたい。
■PHPによるWindows Azureクラウド・サービスの開発
●Windows Azure開発環境の構築
Windows Azureクラウド・サービスの開発を行うには、まずVisual Studio 2008を用意する。これは、無償版のVisual Web Developer 2008 Express Editionでも構わない。本稿ではVisual Studio Team System 2008のTeam Suiteを利用する。
次に、下記の2つのモジュールをインストールする。
これらをインストールするには、いくつかの事前準備が必要だ。詳しいインストール方法は「無償開発環境で試すWindows Azureクラウド開発」を参照してほしい。
●FastCGIモジュールのインストール
Windows Azure上では、PHPアプリはIIS用のFastCGIによって実行される。つまりWindows Azure内部では、FastCGIモジュールが最初から有効化されているのだ。手元のWindows Azure開発環境(=Windows Vistaなどのクライアント環境)でPHPアプリを実行するには、これと同じ環境になるよう、FastCGIモジュールを有効化する必要がある。
有効化するには、(Windows Vistaの場合)[コントロール パネル]の[プログラム]−[プログラムと機能]−[Windows の機能の有効化または無効化]を実行する。これにより、次の画面の[Windows の機能]ダイアログが表示されるので、[Internet Information Services]−[World Wide Web サービス]−[アプリケーション開発機能]−[CGI]チェック・ボックスにチェックを入れて[OK]ボタンをクリックすればよい。
![]() |
| FastCGIモジュールの有効化 |
| この作業を行わないと、クライアント環境でのPHPアプリ実行時に「CCT: Error: Unable to find FastCGI module at path C:\Windows\system32\inetsrv\iisfcgi.dll. Please verify that it is installed.」というエラーが表示される。 |
●PHP実行環境の準備
さらに、PHPアプリの実行エンジンである「Windows向けのCGI版PHP実行環境」(以降、PHP実行環境)も、ここで準備しておこう。PHP実行環境を入手するは、次のリンク先を開き、最新版(執筆時点では「VC9 x86 Non Thread Safe (2009-Jun-30 08:52:54)」)の[Zip]をクリックすればよい。
.zipファイル(本稿の例では「php-5.3.0-nts-Win32-VC9-x86.zip」)がダウンロードされるので、これを任意の場所に展開し、フォルダ名を「php」に変更しておく。
それでは、以上で開発環境が整ったとして、実際の開発作業に入っていこう。
| INDEX | ||
| [特集] PHP on Windows Azure | ||
| PHP開発者もクラウド開発を始めよう! | ||
| 1.PHP開発でWindows Azureを利用する理由 | ||
| 2.PHPによるWindows Azureクラウド・サービスの開発(1) | ||
| 3.PHPによるWindows Azureクラウド・サービスの開発(2) | ||
| 4.PHPアプリをWindows Azureに乗せるコツ | ||
ホワイトペーパー(TechTargetジャパン)
- .NET TIPS - .NET開発のテクニックとヒント集 - (2010/3/18)
− GridViewコントロールを階層表示させるには?
− Windowsフォームのボタンに画像を表示するには?
− C#でnullチェックを簡潔に行うには? - Chapter15:LINQとクエリ式 (2010/3/17)
C# 3.0の目玉機能であるLINQについて、さまざまな記述例を交えながら徹底解説。書籍『[完全版]究極のC#プログラミング』より転載 - VBラムダ式 基礎文法最速マスター (2010/3/16)
今度はVB。ラムダ式の基礎文法を、短い説明と簡単なコードでまとめる。「ラムダ式、どう書くんだっけ?」という場合の簡易リファレンスとして活用できる - ASP.NET MVC 2がリリース (2010/3/15)
ASP.NET MVC 2の正式版(VS 2008のASP.NET 3.5向け、VS 2010には標準で含まれる予定)のリリースについてのお知らせ
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
未来展望台コーナースポンサーからのお知らせ
- - PR -
| 「いつかは壊れるサーバ」そんな故障に 迅速で安価に手軽に対応する方法とは? New! |
| 「特権ユーザー」の事件を防げ! 万能権限を持つユーザーの管理方法とは? New! |
| 仮想環境の構築とデータ保護の特効薬?! 実績と信頼性の高いパッケージで安心運用 |
| 仮想環境のバックアップもこれまでどおり 「まるごと取ってまるごと戻す」簡単運用 |
| おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |
| その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |
| 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |
| 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | TomcatやJBossなどAPサーバ環境に関する 情報を集約! “業務”用APサーバ大百科 New! |
| ◆ | 一気に解説! 最新のクラスタストレージ 「RAIDを超えたストレージ基準」……など New! |
| ◆ | クラウド的ユーザー体験の変化は脅威か? 仮想化技術を使いこなす運用管理術を紹介 New! |

| ◆ | 上司や部下、部署内メンバーとの情報共有 を“ガラッ”と変えるコラボツールとは? New! |
| ◆ | おばかアプリ選手権、第4弾開催中!! ムダにカッコよくてくだらない作品求ム! |
| ◆ | 社内ファイルサーバを“クラウド”に統合 VPN直結「クラウド型ストレージ」を紹介 |

| ◆ | Twitterのアカウントはなぜ突破された? メールによる新手の攻撃手法とその対策 |
| ◆ | もう仮想化のお試しフェイズは終わりだ! Hyper-V 2.0が基幹システムも仮想化 |
| ◆ | 美人!? まあまあ? 気になる いやし系!! PV急増で「美人時計」がとった手段とは? |

| ◆ | クライアント企業から求められる人材 ⇒IT技術と経営戦略を併せ持つ「戦略家」 |
| ◆ | .NET編集長が実践する「技術情報検索術」 サンプル・コードを簡単に探す“技”は? |
| ◆ | 業務効率と情報セキュリティ対策を両立! 手間なく確実に機密情報を守る方法とは? |

| ◆ | 進化を続ける富士通ストレージETERNUS DX 製品開発者の自信を裏付けるものとは何か |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |

| ◆ | 【CTC事例】約30の基幹システムを統合! 膨大なバッジジョブを制御した方法は? |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |
| ◆ | その数、なんと400台以上! グループ内 サーバの「統合管理」によるメリットは? |











