特集:PHP on Windows Azure PHP開発者もクラウド開発を始めよう! デジタルアドバンテージ 一色 政彦2009/07/28 |
|
|
●PHPプログラムを動作させるための設定:PHP実行環境の完全信頼実行の許可
まずPHP実行環境が、セキュリティ制限を受けずに、つまり完全信頼(Full Trust)で動作するように設定する必要がある。これには、WebCgiRole1プロジェクトのすべての.EXEファイル(=実行可能ファイル)が完全信頼で実行されるように設定する。
具体的には次の画面のように、[ソリューション エクスプローラ]でCloudService1プロジェクトの「Roles」フォルダの中にあるWebロール(本稿の例では「WebCgiRole1」)を選択し、[プロパティ]ウィンドウで[Enable Full Trust]プロパティを「True」に設定すればよい。
PHP実行環境の完全信頼実行を許可する設定 | ||||||
上記の設定をすることにより、WebCgiRole1プロジェクトのすべての.EXEファイル(=実行可能ファイル)が完全信頼で実行できるようになる。 | ||||||
|
この設定により、CloudService1プロジェクトの中にある「ServiceDefinition.csdef」(=クラウド・サービス定義ファイル。詳しくはこちらを参照)の<WebRole>要素のenableNativeCodeExecution属性がtrueに変更される。もちろん[プロパティ]ウィンドウを使わずに、直接この部分のコードを手動で書き換えてもよい。
|
|
完全信頼実行を許可する設定になったサービス定義ファイル「ServiceDefinition.csdef」 |
●PHPプログラムを動作させるための設定:FastCGIアプリの設定
次に、PHP実行環境に含まれる「php-cgi.exe」ファイルをFastCGIアプリとして(CGI Webロールに)設定する。これには、WebCgiRole1プロジェクトのWeb.roleconfigファイルを開き、次のコードの太字部分を追記する(※実際には、追記部分がコメントアウトされているので、それを解除し、状況に合わせて内容を書き換えればOKだ)。
|
|
FastCGIアプリを設定したWebロール構成ファイル「Web.roleconfig」 | |
「%RoleRoot%」は、実行時にWebCgiRole1プロジェクトのルート・フォルダのフル・パスに展開される。 |
●PHPプログラムを動作させるための設定:FastCGIハンドラの設定
さらに、.phpファイルがPHP実行環境で処理されるように、「php-cgi.exe」ファイルをFastCGIハンドラとして(Webアプリに)設定する。これには、WebCgiRole1プロジェクトのWeb.configファイルを開き、次のコードの太字部分を追記する(※追記部分がコメントアウトされているので、それを解除し、状況に合わせて内容を書き換えればOK)。
|
|
FastCGIハンドラを設定したWebアプリ構成ファイル「Web.config」 | |
この設定により、すべての.phpファイルがPHP実行環境で処理されるようになる。 |
以上ですべての準備が整った。
●PHPプログラムの実行
さっそく、PHPアプリを何か動かしてみよう。最初はPHPアプリで最もシンプルな「phpinfo();」(=PHP環境情報を出力する関数)を表示してみる。
[ソリューション エクスプローラ]の「WebCgiRole1」プロジェクトを右クリックして、表示されるコンテキスト・メニューから[追加]−[新しい項目]を選択する。これにより、次の画面の[新しい項目の追加]ダイアログが表示される。
[新しい項目の追加]ダイアログによる.phpファイルの追加 |
ダイアログ左側の[カテゴリ:]から「全般」を選択し、右側の[テンプレート:]から「テキスト ファイル」を選択する。[ファイル名:]に「phpinfo.php」と入力し、[追加]ボタンをクリックする。これにより、[ソリューション エクスプローラ]上の「WebCgiRole1」プロジェクト内に「phpinfo.php」ファイルが追加され、そのファイルがコード・エディタで開かれる。
そこに、
<?php phpinfo(); ?>
というPHPコードを記述する。
PHP環境情報を表示するPHPコードが記述されたphpinfo.phpファイルの例 |
以上でコーディングは完了したので、Visual StudioのIDEのメニュー・バーから[デバッグ]−[デバッグなしで開始]を実行する。Webブラウザが起動したら、URLアドレスに「phpinfo.php」を入力すると、次の画面のようにPHP環境情報が表示される。
PHP環境情報を表示するサンプル(phpinfo.php)の実行例 |
以上がセッションでのデモの流れだった。その後、亀本氏により「PHPアプリをWindows Azure上に乗せるポイント」が紹介された。最後に、その内容を紹介しよう。
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の導入で期待できる効果は効率化だけではありません。マーケティング革新を実現す...