(注:記事は執筆時の情報に基づいており,現在では異なる場合があります)

PHPは米Yahoo!や楽天などでも使用されているWebアプリケーション開発言語である。
Javaに比べ,習得しやすさや柔軟性に優れ,短期開発に向く。性能やセキュリティを確保するための機能を備えており,正しく使う必要がある。大規模開発では,HTMLとプログラムの混在による開発効率の低下を招かないよう注意しよう。

図1●PHPの概要
PHPは,Apacheのプロセスの中でモジュールとして動作するスクリプト言語である。HTMLファイル中に埋め込まれたスクリプトを実行し,結果をHTMLデータとしてWebブラウザに送出する。Oracle,PostgreSQL,MySQL,Microsoft SQL ServerといったDBMSにアクセスする機能を備えている
表1●PHPを採用したシステムの例
写真1●PHPの統合開発環境
画面はイスラエルZend Technologiesが開発したZend Studio。エディタ,デバッガなどを備える。このほかEclipseのプラグインであるTruStudioといったオープンソースの開発環境もある
 PHPは,Webアプリケーションを開発するためのプラットフォームで,最も多く使用されているオープンソース・ソフトウエアの一つである

 PHPの実体は,Webサーバー・ソフトウエアApacheのモジュールとして動作するスクリプト言語実行環境だ。HTMLデータ中に記述されたスクリプトをPHPが実行し,結果をHTMLデータとしてWebブラウザに送出する(図1[拡大表示])。

 英Netcraft*1の調査では,全世界のWebサイトのうち約70パーセントでApacheが利用されており,なお増加を続けている。このApacheのパッケージには,PHPが標準で組み込まれている。そのため,PHPは膨大な数のWebサーバーで動作している。セキュリティ情報サイトSecuritySpaceが2003年9月1日公開したレポート*2によると,Apacheの52.29%,402万8942サーバーにPHPモジュールがインストールされている。

 米Yahoo!もPHPのユーザーである。2002年10月のPHP Conferenceで,米Yahoo!は広告配信やアプリケーション構築にPHPを採用したと発表した*3

 日本でも,楽天*4や関心空間などという人気サイトでPHPが採用されている。日経システム構築にもPHPを採用したシステムがたびたび登場している(表1[拡大表示])。サイトのURLに「~.php」の文字が珍しくなくなってきたところからも,PHPの採用が増加していることがうかがえる。

 Linux,Apache,MySQL,PHP(あるいはPerl,Python)という組み合わせを「LAMP」と呼ぶ。その各々がオープンソースであり,独立に開発とテストや自由なフィードバックの体制と仕組みを持ちつつ,相互に連携するテストも繰り返されながらして発展している。

多くの連携機能や関連ツール

 PHPの歴史は1995年にさかのぼる。Rasmus Lerdorf氏が自分の履歴書を見た人を調べるために作っていたPerlスクリプト「Personal Home Page Tools」をC言語で書き直し,HTMLフォームを扱える動的なWebアプリケーションのための機能「Form Interpreter」に拡張したのが始まりである。当初その頭文字から「PHP/FI」と呼ばれていた。

 Rasmusはこのソフトウエアの開発に誰でも参加できるようにしていたことから,大勢の開発者の支持を得た。PHP開発者の主体はやがて個人からグループへ変化し,やがて,C,Perl,Java,VisualBasicのエッセンスを取り入れた,技術者にとって非常に取り組みやすい,新しい言語仕様として発展した。

 現在の安定版の最新バージョンPHP4は2000年5月にリリースされた。そのコア・エンジンはパフォーマンスの改善のため,Zeev Suraski氏やAndi Gutmans氏により書き直されたもので,2人の名前からZend Engineと呼ばれている。

 現在,オブジェクト指向機能を強化したPHP5の開発に,日本人を含む大勢のプログラマが注力している。2003年8月には,PHP5.0 Beta1がリリースされた。

 PHPは,多くのデータベースと接続する機能を備えている。PostgreSQLやMySQLといったオープンソース・データベースだけでなく,商用データベース・ソフトウエアについても,ODBC,Oracle関数,SQLServer関数も用意されている。

 PHPはWebアプリケーションに加え,様々なインターネット・プロトコルに対応している。HTTPだけでなくFTP,SMTP,IMAP,SNMPなどのプロトコルを関数で制御できる。

 PHP4からは,セッション管理機能も備えた。Cookieや,URL中にユーザーを特定するデータを埋め込み,同じユーザーからのアクセスの間,値を保持することができる。

 PHPの機能を拡張する商用製品も多数出てきている。PDFlibは,PDF生成を行うライブラリだ。PDF記述用のAPIを提供するPDFlib自体のほか,既存のPDFファイルを読み込むことのできる機能が付加されたPDFlib+PDI,そしてPDFファイルを作成する時点でデータ流し込みをするブロックを指定できるPDF Personalization Serverがある*5

 前述のZend Engineを開発したメンバーが設立したイスラエルZend Technologiesは,エディタ,デバッガなどを備えた統合開発環境Zend Studioなどを販売している(写真1*6

 なお,統合開発環境としては,オープンソースのEclipseでPHPを扱うためのプラグインTruStudio*7といった,無償で使用できるものもある。

岡田良太郎(おかだ・りょうたろう)氏

株式会社テックスタイル代表取締役
2002年2月に築地に設立したテックスタイル(http://techstyle.jp/)で,オープンソース関連技術を中心に,インターネットシステムの構築,運用に関するセキュリティ・コンサルティングを実施。同社は現在,「オープンソースビジネスレビュー(OSBR)」という情報サービスを展開している。E-Mailはriotaro@techstyle.jp

(次回に続く)