特集:PHP on Windows Azure PHP開発者もクラウド開発を始めよう! デジタルアドバンテージ 一色 政彦2009/07/28 |
|
|
■PHPアプリをWindows Azureに乗せるコツ
●PHPアプリをWindows Azureに乗せた例
セッションでは、開発手順の紹介の後、世の中に広く普及しているPukiWikiをWindows Azureに乗せた例がデモされた。次の写真はそのときの様子である。
Windows Azure上で動作するPukiWikiの例 |
●PHPアプリをWindows Azureに乗せるコツ
亀本氏いわく、「先ほどの開発手順の内容に加え、次の2つのポイントをしっかりと押さえれば、ほとんどのPHPアプリはWindows Azure上に配置可能」である。
(1).htaccessファイルからWeb.configファイルへの移行
(2)php.iniファイル(PHP設定ファイル)のCGI設定
それぞれについて簡単に説明しよう。
●(1).htaccessファイルからWeb.configファイルへの移行
Apacheで使われる.htaccessファイル(=ディレクトリ単位のWebサーバ構成ファイル)は、Windows Azure上ではIISで使われるWeb.configファイルに置き換える必要がある。特にオープンソースのPHPアプリは、Linux/Apache環境を前提としているため、(そのPHPアプリが.htaccessファイルを使用していれば)移行しようとすると、この移行作業が発生する。
例えば、.htaccessファイルの「mod_rewriteルール」(例:RewriteRuleディレクティブなど)は、Web.configファイルの「URL書き換えモジュール」(例:<rewrite>/<rules>/<rule>タグなど)に書き換える必要がある。具体的な、置き換え方法は次のサイトをご覧いただきたい。
●(2)php.iniファイル(PHP設定ファイル)のCGI設定
IIS向けのFastCGIを使ってPHPアプリを動かす場合、(基本的に)次の3つの項目の設定が必要になる。
|
|
php.iniファイルで必要な3つのCGI設定 | |
「cgi.force_redirect」ディレクティブは、CGIとしてPHPを実行する際のセキュリティを確保するためのもの。IISでは、セキュリティがすでに確保されているので、このディレクティブは「0」(=オフ)に設定する必要がある。デフォルト値は「1」。 「cgi.fix_pathinfo」ディレクティブは、PATH_INFOの本来の仕様に沿った動作にするためのもの(昔のPHPはPATH_INFOの仕様を誤って解釈しており、PATH_TRANSLATEDの代わりに、SCRIPT_FILENAMEを使用していた)。このディレクティブは「1」(=オン)に設定する必要がある。デフォルト値は「1」。 「fastcgi.impersonate」ディレクティブは、呼び出し元クライアントのセキュリティ・トークンを偽装して、リクエスト処理を行うセキュリティ・コンテキストをIIS側で定義できるようにする。IIS向けのFastCGI環境では、「1」(=オン)に設定する必要がある。デフォルト値は「0」。 |
■
以上がセッションのほぼ全内容だ。Windows Azure自体がまだ正式リリースされておらず、ましてやPHP開発となると実例がほとんどない。しかしながら、今回のPukiWikiの動作などを見ると、ほとんどのPHPアプリはWindows Azure上でも動作しそうである。
Windows Azureは、インスタンス数の数値を変えるだけで簡単にスケールを調整できるので、「格安な料金でスモール・スタートして、人気のあるサイトになれば、臨機応変にスケールアウトする」という運用形態が可能である。サーバOSのパッチ管理などは、自動的に面倒を見てくれる。この点では、Amazon EC2などではなく、Windows Azureをクラウド・プラットフォームとして使用する理由になるだろう。
開発環境も無償で使えるものがある。Windows Azure自体も2009年11月中旬までは無償だ。「百聞は一見にしかず」で、まずは一度、どんなものか試してみてはいかがだろうか。
INDEX | ||
[特集] PHP on Windows Azure | ||
PHP開発者もクラウド開発を始めよう! | ||
1.PHP開発でWindows Azureを利用する理由 | ||
2.PHPによるWindows Azureクラウド・サービスの開発(1) | ||
3.PHPによるWindows Azureクラウド・サービスの開発(2) | ||
4.PHPアプリをWindows Azureに乗せるコツ | ||
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|
キャリアアップ
未来展望台コーナースポンサーからのお知らせ
- - PR -
- - PR -
転職/派遣情報を探す
「ITmedia マーケティング」新着記事
米司法省がGoogleに「Chrome」売却要求 広告業界への影響は?
米司法省によるGoogleへのChrome売却要求は、リテールメディアネットワークに恩恵を与え...
トランプ氏勝利で追い風 ところでTwitter買収時のマスク氏の計画はどこへ?――2025年のSNS大予測(X編)
2024年の米大統領選挙は共和党のドナルド・トランプ氏の勝利に終わった。トランプ氏を支...
AI導入の効果は効率化だけじゃない もう一つの大事な視点とは?
生成AIの導入で期待できる効果は効率化だけではありません。マーケティング革新を実現す...