PHPはPHP/FIというソフトウェアを継承したものです。PHP/FI は1995年にRasmus Lerdorfによって作成されました。当初は オンラインに置いてある彼のレジュメへのアクセスを解析するための Perlスクリプトの単純な組み合わせでした。彼はこのスクリプト に 'Personal Home Page Tools' という名前を付けました。 さらに多くの機能が要求されるようになると、Rasmusはデータ ベースとの連携や、簡単な動的ウェブアプリケーションを作成 できるようなものをC言語で書き直しました。RasmusはPHP/FIの ソースコードを皆が見られるように» 公開 する、という選択を したため、誰もがこれを使い、またバグを直したり改良したり することが出来ました。
PHP/FI(Personal Home Page / Forms Interpreter)には現在のPHPの 基本的な機能となっているものが含まれていました。Perlライクな 変数、フォームの値を自動で解釈する機能、そしてHTMLに埋め込まれた 文法です。文法そのものはPerlのそれに類似していますが、それよりは 制限が多く単純でいくらかの矛盾を抱えたものでした。
1997年までに、再度Cで書き直されたPHP/FI 2.0は(おそらく)世界で 数千の熱狂的なユーザを持ち、Internet上の1%程度となるおよそ50,000の ドメインにインストールされていたと報告されています。数人が ちょっとしたコードを提供していたとはいえ、それはまだ大きな 一人のプロジェクトでした。
PHP/FI 2.0は、その期間の多くをβ版として過ごした後、1997年の秋に 公式にリリースされました。その後すぐにPHP 3.0のα版が登場しました。
例1 PHP/FI のコード例
<!--include /text/header.html--> <!--getenv HTTP_USER_AGENT--> <!--ifsubstr $exec_result Mozilla--> Hey, you are using Netscape!<p> <!--endif--> <!--sql database select * from table where user='$username'--> <!--ifless $numentries 1--> Sorry, that record does not exist<p> <!--endif exit--> Welcome <!--$user-->!<p> You have <!--$index:0--> credits left in your account.<p> <!--include /text/footer.html-->
PHP 3.0は今日私たちが知っているPHPに非常に近いものとなった 最初のバージョンです。これはAndi GutmansとZeev Suraskiが PHP/FI 2.0でeコマースのアプリケーションを開発しようとしたときに その力不足に気づき、1997年に完全に書き直されて作成されました。 PHP/FIの既存の資産を失うことなく共存しようという努力の結果、 Andi、RasmusそしてZeevはPHP 3.0をPHP/FI 2.0の公式な後継 バージョンとしてアナウンスし、PHP/FI 2.0の開発はほぼ完全に 中止されました。
PHP 3.0の最も強力な点は、その拡張性でした。エンドユーザに 対して、多くのデータベースへの安定したアクセス機構に加えて プロトコルやAPIを提供することでPHP 3.0の拡張機能は 多くの開発者を惹きつけ、開発に加わったり新しい拡張モジュール が提供されるようになりました。間違いなくこれがPHP 3.0の 非常におおきな成功の鍵でした。PHP 3.0の重要な他の機能としては オブジェクト指向な文法や、強力で一貫性のある文法が挙げられます。
この完全に新しい言語は、PHP/FI 2.0が持っていた個人使用に制限されている という含意を取り除いた新しい名前でリリースされました。それは シンプルな 'PHP' という名前で、PHP: Hypertext Preprocessor という 再帰的な頭字語となっています。
1998年の終わりには、インストールベースで数万のユーザがおり、 数十万のウェブサイトがPHPをインストールしたと報告していました。 ピーク時にはPHP 3.0は世界のウェブサーバのおよそ10%にインストール されていました。
9ヶ月の公開テストを経てPHP 3.0は1998年6月に公式にリリース されました。
PHP 3.0が公式にリリースされて間もない1998年の冬、Andi Gutmans とZeev SuraskiはPHPの核となる部分を書き直し始めました。この 目的は、複雑なアプリケーションにおけるパフォーマンスの改善と PHPコードのモジュールとしての独立性を高めることでした。 そういったアプリケーションはPHP 3.0の新機能や第三者による 多くのデータベースやAPIのサポートを使用することで開発可能 でしたが、PHP 3.0はそういった複雑なアプリケーションを効率的に 扱うようにはデザインされていませんでした。
'Zend Engine'と呼ばれる新しいエンジン(開発者であるZeevとAndi の名前の組み合わせ)は、彼らの目的を十分に果たすものでした。 そしてそれは1999年中ごろに初めて紹介されました。このエンジンを 使用し、いくつかの広範囲にわたる新機能を追加したPHP 4.0は PHP 3.0のおよそ2年後となる2000年5月にリリースされました。 PHP 4.0はパフォーマンスが大幅に改善されたのに加え、 さらに多くのウェブサーバのサポート、HTTPセッション、 出力のバッファリング、ユーザの入力のさらに安全な取得方法の 提供、いくつかの新しい言語構造の提供といった特徴があります。
今日ではPHPには数十万の開発者がおり、数百万のサイトにインストール されています。これはInternetの20%以上のドメインにあたります。
PHPの開発チームには、数十人の開発者に加えて、PHPに関連するプロジェクト 、例えばPEARやドキュメンテーションに従事する別の数十人の開発者がいます。
PHP 5は長期にわたる開発とプレリリースを経て2004年7月に公開されました。 改良の目玉は、コアであるZend Engine 2.0で新しいオブジェクトモデルが サポートされたことで、その他にも多くの新しい機能が追加されています。