特集:PHP on Windows Azure

PHP開発者もクラウド開発を始めよう!

デジタルアドバンテージ 一色 政彦
2009/07/28
Page1 Page2 Page3 Page4

Azure関連の記事

まだ知らない人のための最新Azure入門 - Build Insider

Azure TIPS - Build Insider

ここまで進化した、Azure Webサイトの世界観(2014年7月版) - Build Insider

連載:Windows Azureモバイルサービスで作る簡単スマートフォンアプリ - Build Insider

Microsoft Azureプレビュー・ポータルの機能とは? - Build Insider

特集:Windows Azureメディア・サービスを利用したストリーミング配信 - Build Insider

連載:Microsoft技術におけるアイデンティティ連携開発のいま - Build Insider

Vittorio Bertocci氏インタビュー: 開発者にとってのWindows Azure Active Directoryの役割と今後の展開 - Build Insider

その知識、ホントに正しい? Windowsにまつわる都市伝説(6):Microsoft Azureの秘密を探る[その1] - @IT

進化を続けるマイクロソフトのクラウド:Windows Azureの“いま”を知る - @IT

Azure - Build Insider

 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に乗せるコツ
Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

.NET未来展望台

未来展望台コーナースポンサーからのお知らせ


- PR -
- PR -
ソリューションFLASH

「ITmedia マーケティング」新着記事

米司法省がGoogleに「Chrome」売却要求 広告業界への影響は?
米司法省によるGoogleへのChrome売却要求は、リテールメディアネットワークに恩恵を与え...

トランプ氏勝利で追い風 ところでTwitter買収時のマスク氏の計画はどこへ?――2025年のSNS大予測(X編)
2024年の米大統領選挙は共和党のドナルド・トランプ氏の勝利に終わった。トランプ氏を支...

AI導入の効果は効率化だけじゃない もう一つの大事な視点とは?
生成AIの導入で期待できる効果は効率化だけではありません。マーケティング革新を実現す...