前回は単純なWebコンテンツをWeb Appにデプロイして、静的なWebサイトを構築しました。今回は、簡単なPHPアプリをWeb Appにデプロイしてみます。WindowsまたはLinuxベースのWeb Appは、Webアプリのためのさまざまな開発およびランタイム環境に対応しています。その1つがPHPです。

Web App(Windows/Linux)でPHPアプリをホストする

PHPは、古くから人気のあるWebアプリ言語およびランタイム環境です。一昔前なら、Linux、Apache HTTP Server、MySQL、PHPの頭文字をとった「LAMP」環境がWebアプリのプラットフォームの王道と言われていました。

現在では、PHPの環境はWindows ServerのIIS環境でも利用できますし(これを実現可能したFastCGI for IISの提供からもう10年以上経ちました)、MySQLはWindowsにも対応しています。

せっかくなので、WindowsとLinuxの両方のWeb Appに同じPHPアプリを展開してましょう。用意したのは、1つのHTMLファイル(index.html)と、そこからリンクする2つのPHPアプリ(helloworld.php、phpinfo.php)です。

すべてメモ帳で作成できる簡単なもので、PHPアプリの1つは「Hello Azure App Service !!」というテキストをフォントサイズを変えながら複数回出力します。もう1つは、PHPのphpinfo()関数を実行してPHPの現在の構成情報を表示します。

  • Azure“超”入門 第26回

    メモ帳で作成できるレベルの簡単なPHPアプリ

前回と同じように、アプリ名とリソースグループ、App Serviceプランを指定してWeb Appを作成します。今回は、インスタンスのプラットフォームとしてWindowsとLinuxをそれぞれ選択した、2つのWeb Appを作成しました。

前回説明したように、App Serviceプランは、WindowsとLinuxで別々にする必要があることに注意してください。LinuxのWeb Appではランタイムスタックとして「PHP 7.0」(この記事の作成時点)が既定で選択されているのでそのまま進みます。WindowsのWeb Appにはランタイムスタックのオプションはありませんが、Windows ServerのIISはPHPに標準で対応しています。

  • Azure“超”入門 第26回

    Web Appを作成する。LinuxのWeb Appではランタイムスタックとして「PHP 7.0」を選択。現在は、新しいインタフェース「Webアプリ(プレビュー)」が既定で開きますが、この画面は従来のインタフェースです

Web Appの作成は数十秒で完了します。WindowsとLinuxのWeb Appの両方に、Zip Deploy UIやFTP/FTPS(前回説明)などのデプロイ方法でPHPアプリを含むWebコンテンツをアップロードします。

  • Azure“超”入門 第26回

    PHPアプリをWeb Appにアップロードする。これだけでPHPアプリのデプロイは完了

前回の静的なWebサイトの構築のときとほとんど変わりません。違いは、WebコンテンツにPHPページが含まれる点だけです。なお、データベース接続が必要なアプリの場合は、その準備と構成がさらに必要になります。

デプロイしたPHPアプリにアクセスする

Webコンテンツのデプロイが完了すれば、すでにPHPアプリは利用可能な状態です。Webブラウザで「https://<アプリ名>.azurewebsites.net/」にアクセスし、PHPアプリへのリンクをクリックします。WindowsのWeb AppとLinuxのWeb Appの両方で、同じPHPアプリが同じように動作することを確認できるはずです。

  • Azure“超”入門 第26回

    まったく同じPHPアプリがWindowsのWeb App(手前のブラウザ)とLinuxのWeb App(1つ奥のブラウザ)で動作している様子

phpinfo()の出力結果を比較してみましょう。WindowsのWeb AppとLinuxのWeb Appのそれぞれが、異なるPHP環境であることが分かります。WindowsのWeb Appに対してはPHPの構成はなにもしていませんが、既定ではPHP 5.6がFastCGIを介してIIS上で動作していました。

一方、LinuxのWeb Appは、Web App作成時に指定したランタイムスタックであるPHP 7.0がApache HTTP Server上で動作しています。

  • Azure“超”入門 第26回

    WindowsのWeb AppのPHP環境(手前のブラウザ)とLinuxのWeb AppのPHP環境の構成情報

Web Appのランタイムは、Web Appのブレードの「アプリケーション設定」ページで変更することができます。WindowsのWeb Appの「アプリケーション設定」ページを開き、「全般設定」の「PHPのバージョン」を既定の「5.6」から「7.2」に変更して、「保存」をクリックします。

すると、数秒で設定が更新されます。Webブラウザをリフレッシュすると、PHP 7.2の構成に切り替わったことを確認できます。

  • Azure“超”入門 第26回

    Web Appの「アプリケーション設定」でPHPバージョンを「7.2」に変更し「保存」すると、数秒でPHP 5.6からPHP 7.2に切り替わる

LinuxのWeb Appでは「アプリケーション設定」で「ランタイム」の「スタック」を「PHP 7.2」に変更することで、PHPバージョンをPHP 7.2に更新することができます。

著者プロフィール

山市良
Web媒体、IT系雑誌、書籍を中心に執筆活動を行っているテクニカルフリーライター。主にマイクロソフトの製品やサービスの情報、新しいテクノロジを分かりやすく、正確に読者に伝えるとともに、利用現場で役立つ管理テクニックやトラブルシューティングを得意とする。2008年10月よりMicrosoft MVP - Cloud and Datacenter Management(旧カテゴリ: Hyper-V)を連続受賞。ブログはこちら。

主な著書・訳書
「インサイドWindows 第7版 上」(訳書、日経BP社、2018年)、「Windows Sysinternals徹底解説 改定新版」(訳書、日経BP社、2017年)、「Windows Server 2016テクノロジ入門 完全版」(日経BP社、2016年)、「Windows Server 2012 R2テクノロジ入門」(日経BP社、2014年)などがある。