PHP (Hypertext Preprocessor)は、オープンソースのサーバ・サイド・スクリプト言語だ。無償で利用でき、動的なWebページを制作したり、クラウド連携するのに威力を発揮する。
PHPが動作する仕組み
サーバ・サイド・スクリプトとは、アプリケーション・サーバ(APサーバ)上で動作するプログラムである。ブラウザから(1)リクエストを受けると、それを処理したり、Webサーバとデータベース・サーバ(DBサーバ)を仲介するなどの(2)スクリプトを実行し、Webサーバを介して(3)レスポンスを返す。
静的なHTMLと異なり、ブラウザが要求したリクエストに応じ、様々なページを動的に作り出して表示させることができる。
Webサーバとアプリケーション・サーバやデータベース・サーバは、同一のハードウェアの上に配置しても構わない。近年はクラウドサービスとして提供されることが多く、物理的にサーバが分かれているかどうかは意味をなさなくなっている。
PHP を使うと、下図のように、インターネット上に公開されているAPIとGoogleマップをクラウド連携し、指定した場所の近くにある電源やWi-Fiが利用可能な店舗を検索するプログラムを簡単に作ることができる。→PHPで電源・WiFi利用可能店舗を検索する
静的なHTMLと異なり、ブラウザが要求したリクエストに応じ、様々なページを動的に作り出して表示させることができる。
Webサーバとアプリケーション・サーバやデータベース・サーバは、同一のハードウェアの上に配置しても構わない。近年はクラウドサービスとして提供されることが多く、物理的にサーバが分かれているかどうかは意味をなさなくなっている。
PHP を使うと、下図のように、インターネット上に公開されているAPIとGoogleマップをクラウド連携し、指定した場所の近くにある電源やWi-Fiが利用可能な店舗を検索するプログラムを簡単に作ることができる。→PHPで電源・WiFi利用可能店舗を検索する
PHPの強み/弱み
サーバ・サイド・スクリプトは、CGIとは異なりアプリケーション・サーバが直接実行できるので、サーバにかかる負荷が小さく、レスポンスが早いページを実現できる。
PHPは、C/C++やJavaに近い文法体系を持っており、これらの言語に慣れている方にはお勧めだ。逆に、PHPを学んでからC/C++やJavaにステップアップしてもいいだろう。
多くのOS(Windows, Linux, macOS X)、Webサーバ(Apache, IIS)上で動作する点も強みだ。
誕生してから28年の歴史があり、フレームワークと呼ばれるライブラリ群がオープンソースで提供されている。たとえば Laravel は、Amazon AWS上でデータベースを使ってWebサービスを提供するプログラムを簡単に書くことができる。これ以外にも多くのフレームワークが公開されている。
PHPはWebサービスが得意である反面、マルチスレッド処理には向いていない。マルチスレッド処理は、PythonやC++で書いておき、PHPから呼び出すようにするといいだろう。→PHPとPythonで巨大素数を扱う
PHPは、C/C++やJavaに近い文法体系を持っており、これらの言語に慣れている方にはお勧めだ。逆に、PHPを学んでからC/C++やJavaにステップアップしてもいいだろう。
多くのOS(Windows, Linux, macOS X)、Webサーバ(Apache, IIS)上で動作する点も強みだ。
誕生してから28年の歴史があり、フレームワークと呼ばれるライブラリ群がオープンソースで提供されている。たとえば Laravel は、Amazon AWS上でデータベースを使ってWebサービスを提供するプログラムを簡単に書くことができる。これ以外にも多くのフレームワークが公開されている。
PHPはWebサービスが得意である反面、マルチスレッド処理には向いていない。マルチスレッド処理は、PythonやC++で書いておき、PHPから呼び出すようにするといいだろう。→PHPとPythonで巨大素数を扱う
日本語ヘルプの入手
公式サイトでは各国言語のヘルプファイルを無償配布している。日本語ヘルプも入手可能である。
ただし、ダウンロードしたヘルプファイルは、そのままではWindowsで利用することができない。「PHPのchm形式のマニュアルの文字化けを直す方法」(モノレビュー)の手順に従って、再コンパイルしてやる必要がある。
この処理を行った日本語ヘルプは下記からダウンロードできる。
ただし、ダウンロードしたヘルプファイルは、そのままではWindowsで利用することができない。「PHPのchm形式のマニュアルの文字化けを直す方法」(モノレビュー)の手順に従って、再コンパイルしてやる必要がある。
この処理を行った日本語ヘルプは下記からダウンロードできる。
入門書
初学者・上級者向け「PHP Open Textbook」
2022年(令和4年)12月31日に、一般社団法人BOSS-CON JAPANは、同社内組織の PHP技術者認定機構が PHP教材ドキュメントを商用非商用問わず無償で改変権、利用権を付与する PHP Open Textbook を公開した。
公開概要は下記の通り。
- PHP初学者・上級者向けテキストブックを公開し、商用非商用を問わず改変権と利用権を無償で提供する。
- PHP技術者認定機構が運営し、利用者が常に最新のテキストブックを利用できるようにする。
- 初期段階では、PHP8.xに対応したテキストブックを公開し、複数のOSへの対応したドキュメントを公開する予定である。
- 公開ドキュメントのライセンスは CC-BY 4.0 国際とする。
- 公開場所はgithubになる。
ゾウのマスコット
PHP は、ゾウをマスコットにしている。
このマスコットは、1998年(平成10年)にPHPコミニティの1人、ヴァンサン・ポンティエさんがデザインしたもので、PHPという文字を崩して表記すると横から象を見たような感じになるところから着想を得たという。(HOW & WHY DID THE PHP MASCOT COME TO BIRTH? THE ELEPHPANT SECRET STORY! 7PHP)
このマスコットは、1998年(平成10年)にPHPコミニティの1人、ヴァンサン・ポンティエさんがデザインしたもので、PHPという文字を崩して表記すると横から象を見たような感じになるところから着想を得たという。(HOW & WHY DID THE PHP MASCOT COME TO BIRTH? THE ELEPHPANT SECRET STORY!
各バージョンのサポート期限
2020年(令和2年)11月現在、PHPの公式サポートは、安定版リリースから2年間を完全サポートし、その後の1年間、重要なセキュリティ問題についてのみサポートするサイクルとなっている。3年間が過ぎると、そのブランチはサポートが終了する。
毎年11~12月に最新ブランチがリリースされるので、最新バージョンから3世代前までがセキュリティサポートの範囲にあるという分かりやすい仕組みになっている。
毎年11~12月に最新ブランチがリリースされるので、最新バージョンから3世代前までがセキュリティサポートの範囲にあるという分かりやすい仕組みになっている。
バージョン | 安定版 リリース |
最新 バージョン |
最新リリース日 | アクティブ サポート終了 |
セキュリティ サポート終了 |
---|---|---|---|---|---|
8.3 | 2023-11-23 | 8.3.11 | 2024-08-29 | 2025-12-31 | 2027-12-31 |
8.2 | 2022-12-08 | 8.2.23 | 2024-08-29 | 2024-12-31 | 2026-12-31 |
8.1 | 2021-11-25 | 8.1.29 | 2024-06-06 | 2023-11-25 | 2025-12-31 |
8.0 | 2020-11-26 | 8.0.30 | 2023-08-03 | 2022-11-26 | 2023-11-26 |
7.4 | 2019-11-28 | 7.4.33 | 2022-11-03 | 2021-11-28 | 2022-11-28 |
7.3 | 2018-12-06 | 7.3.33 | 2021-11-18 | 2020-12-06 | 2021-12-06 |
7.2 | 2017-11-30 | 7.2.34 | 2020-10-01 | 2019-11-30 | 2020-11-30 |
7.1 | 2016-12-01 | 7.1.33 | 2019-10-24 | 2018-12-01 | 2019-12-01 |
7.0 | 2015-12-03 | 7.0.33 | 2018-12-06 | 2017-12-03 | 2019-12-03 |
5.6 | 2014-08-28 | 5.6.40 | 2019-01-10 | 2017-01-19 | 2018-12-31 |
5.5 | 2013-06-20 | 5.5.38 | 2016-07-21 | 2015-07-10 | 2016-07-10 |
5.4 | 2012-03-01 | 5.4.45 | 2015-09-03 | 2014-09-14 | 2015-09-14 |
5.3 | 2009-06-30 | 5.3.29 | 2014-08-14 | - | 2014-08-14 |
5.2 | 2006-11-02 | 5.2.17 | 2011-01-06 | - | 2011-01-06 |
5.1 | 2005-11-24 | 5.1.6 | 2006-08-24 | - | 2006-08-24 |
5.0 | 2004-07-13 | 5.0.5 | 2005-09-05 | - | 2005-09-05 |
4.4 | 2005-07-11 | 4.4.9 | 2008-08-07 | - | 2007-08-07 |
4.3 | 2002-12-27 | 4.3.11 | 2005-03-31 | - | 2005-03-31 |
4.2 | 2002-04-22 | 4.2.3 | 2002-09-06 | - | 2002-09-06 |
4.1 | 2001-12-10 | 4.1.2 | 2002-02-27 | - | 2002-03-12 |
4.0 | 2000-05-22 | 4.0.6 | 2001-06-23 | - | 2001-06-23 |
3.0 | 1998-06-06 | 3.0.18 | 2000-10-20 | - | 2000-01-20 |
2.0 | 1997-11-01 | - | - | - | - |
1.0 | 1995-06-08 | - | - | - | - |
参考サイト
- PHP: Hypertext Preprocessor:公式
- PHP: Supported Versions:公式
- PHP Open Textbook:PHP技術者認定機構
- PHP 8:Windows版のイントール/Apacheと連携/特長:ぱふぅ家のホームページ
- PHP 7 をインストールする:ぱふぅ家のホームページ
- PHP 7 を Webサーバで利用できるようにする:ぱふぅ家のホームページ
- PHP入門書の紹介:ぱふぅ家のホームページ
- PHPウォッチ:ITpro
(この項おわり)