PHPの動作環境


PHPはクライアント端末からの要求に対して動的にHTMLデータを生成し、クライアント端末に返信することで、動的なWebページを実現することのできるプログラミング言語です。
仕様としては、HTML埋め込み型のサーバ側スクリプト言語ですので、しばしばJavaScriptなどのクライアント側スクリプト言語と対置されます。またそれゆえにWebサーバに負担が生じるため、サーバ側のスペックには気を配らねばなりませんし、テスト環境を作っておいてアップロード前に実行テストを行うことが奨められます。


仕様


■パラダイム
  1. 命令型・・・C言語などのように、ある出力を得るにあたって実行すべきアルゴリズムを明示し、それをもとに動作するということです。主にループや条件分岐、メソッドによって制御されます。
    HTMLのような出力性質のみを記す言語を「宣言型」と言いますが、それら「宣言型」とPHPのような「命令型」は、本質的な目的が異なります。


  2. オブジェクト指向・・・プログラムの構造を、オブジェクト群の相互作用の働きであると捉えてプログラムコードを書き表す考え方です。
    同時に、システム開発・設計において対象領域を構成要素という「オブジェクト」として発見、定義、記述していくという幅広い捉え方もなされます。

■型付け
弱い動的型付け・・・プログラミングにおいては、処理するデータを数字型、文字列型、複合型のように型付けを行います。これにより、プログラムは信頼性・最適化に対処し得ます。
PHPの場合は、もしデータが期待される型と異なる場合、積極的にデータを適合できる型へと変換するため、「弱い動的型付け」と呼ばれます。
なおデータが期待される型と異なるときに全く受け付けない型付けを「静的型付け」、エラーを返す型付けを「強い動的型付け」と言います。

■プラットフォーム
クロスプラットフォーム(cross-platform)・・・WindowsやMac OS X、Linuxなどのように、仕様が異なる機器・OS上で動作するということです。マルチプラットフォーム(multi-platform)とも言います。

サーバ環境
  1. 実行ファイル形式(CGI / FastCGI)
  2. モジュール形式(mod_php / ISAPI)

PHPは実行ファイル形式とモジュール形式があり、多様な組み合わせがありますが、実際には使用するWebサーバによって、利用する形式を決めてしまうケースがほとんどです。

  • Apache HTTP Server ― mod_php
    一番よく使われるタイプで、当サイトでもこの組み合わせで利用しています。組み立ても非常にカンタンで、便利です。
  • IIS ― ISAPI
    マイクロソフトを象徴するサーバアプリケーション、IIS。マイクロソフト派の人にオススメです。
  • lighttpd ― FastCGI
    Jan Kneschke氏によるフリーソフトウェアで、CPU、メモリへの負荷が少なくクロスプラットフォームであることが特徴です。PHPとの相性が良く、またYou Tubeなどに採用されていることで有名です。
  • AN HTTPD・・・CGI
    日本人によって開発されたフリーソフトウェアで、日本語マニュアルがベースとなっているため日本人に人気です。さらにWindowsサーバをプラットフォームとするので、GUI上で各種設定もできます。