Azure はオープンで柔軟なプラットフォームです。 Azure Web サイトに基づいてアプリケーションを作成するために、最適な言語 (ASP.NET、PHP、Node.js、Python、クラシック ASP など) を選択できます。次のいくつかの記事では、Azure Web サイト上の PHP について説明します。
まず、Azure Web サイト上の PHP のアーキテクチャについて説明します。
次の図は、Windows Azure Web サイト上の PHP のアーキテクチャを示しています。アーキテクチャは、ローカル IIS 上の PHP 構成と変わりません。
PHP リクエストの処理フローは次のとおりです:
1. クライアントの HTTP リクエストは HTTP.SYS (HTTP リクエストを処理するカーネル モジュール) に到達します
2. HTTP リクエストは Web サイトのワーカー プロセス W3WP に転送されます.EXE
3. IIS FASTCGI モジュールは、PHP リクエストの処理を担当します。
4. 状況に応じて、FASTCGI モジュールは新しい PHP-CGI.EXE を開始してから、要求を新しい PHP-CGI.EXE に転送するか、要求を既存の PHP-CGI.EXE に転送します。 FASTCGI と PHP-CGI.EXE 間の通信には名前付きパイプが使用されます。
5. PHP-CGI.EXE は PHP リクエストを処理し、結果を FASTCGI モジュールに返します。
6. 最終応答は HTTP.SYS 経由でクライアントに返送されます。
Azure Web サイトに PHP を展開する場合は、次の点に注意する必要があります:
1. Azure Web サイトでは、デフォルトで PHP が有効になっています。PHP が必要ない場合は、管理ポータルから PHP 機能をオフにすることができます。
2. Azure Web サイトでは、顧客が PHP のシステムレベルの設定を変更することはできません。
3. Azure Web サイトは現在、PHP 5.3、5.4、および 5.5 バージョンをサポートしています。他のバージョンの構成方法については、以降の記事で説明します。
4. Azure Web サイトは現在、32 ビット PHP のみをサポートしています。管理ポータルで Web サイトを 64 ビット モードに設定し、W3WP.EXE を 64 ビットに設定するだけです。 PHP-CGI.exe はまだ 32 ビットです。
5. PHP-CGI.EXE のインスタンスの数は、負荷とマシン リソースに基づいて FASTCGI モジュールによって自動的に決定されます。
次の記事では、Azure Web サイトで PHP を構成する方法について説明します。