PHPはHTMLと親和性が高く、Webサイト制作において現在非常に人気のある言語です。そのためレンタルサーバーにおいても、ほぼすべてのサービスでPHPの利用が可能になっています。
ただし、じつはこのPHPには「CGI版」と「モジュール版」という二種類があります。ここでは両者の違いについて簡単に解説したいと思います。なおレンタルサーバーがどちらを採用しているかは、公式サイトの機能一覧やよくある質問などのページに記載されていることが多いです。
CGI版
CGI版は実行ファイル形式とも呼ばれ、Webサーバーとは別のプロセスで実行されます。
このメリットとしては、まずセキュリティ面が挙げられます。CGI(版のPHP)を動かす各ユーザーは、Webサーバー本体を動かすユーザーとは異なります(切り離されています)。そのため誤って他ユーザーに干渉してしまうといった危険がありません。
一方デメリットとしては、Webサーバーとは別個のプロセスとして動かすぶん、実行するたびにメモリのロードが必要となり、処理作度がモジュール版に比べて遅くなります。
なお処理速度の問題を解決するためにFastCGIという仕様も存在していて、レンタルサーバーによってはこのFastCGIを採用しているところもあります。
モジュール版
モジュール版はCGI版の逆で、WebサーバーのプロセスのなかでPHPを実行してしまう方法です。現在多くのレンタルサーバーはWebサーバーにApache(アパッチ)を採用しているため、モジュール版というと、通常はApacheのモジュール版を意味します。
ただPHPがWebサーバーを動かすユーザー(root権限など)で動作するため、ユーザーが複数いる共用サーバーではセキュリティ面に不安があります。そこでモジュール版には「セーフモード」という設定があり、ユーザー間のファイル干渉を防止できるようなっています。
またモジュール版のメリットとして、WebサーバーのプロセスでPHPが実行されるため、CGI版に比べて動作速度が高速になるという点があります。
レンタルサーバーの多くはCGI版
CGIとモジュールのそれぞれに長所・短所がありますが、共用レンタルサーバーではCGI版が採用されやすいです。
※ただし近年ではモジュール版を採用しているサービスも少しずつ増えてきています。
これにはセキュリティ面の問題のほか、CGIだと各ユーザーのプロセスの負荷を計測しやすい(=過大な負荷をかけているユーザーを発見しやすい)という理由があるようです。
参考:PHP におけるモジュール版とCGI 版の比較 + WordPress の適用例 – 小粋空間
FastCGI・モジュール版を採用しているサービス
前述のとおり、モジュール版を用いるか、もしくはCGI版でも「FastCGI」を利用することによってPHPを高速化できます。
では具体的に、こうした高速化の工夫がどのレンタルサーバーで取られているかを最後に紹介しておきます。
※サーバー仕様はアップデートやリニューアル等で変更があるため、場合によっては以下の記載と異なっている可能性もあります。お申し込み前には、必ず公式サイト等でもご確認ください。
まずは個人向けのレンタルサーバーから紹介します。
なお近年広がりを見せているWebサーバー「LiteSpeed」上でPHPが動かされている場合には、多くのレンタルサーバーサービスでLiteSpeed版という呼称が用いられているため下記もそれに準じています。
- エックスサーバー:FastCGI
- ロリポップ!:エコノミー・ライトプランはCGI版、スタンダードプランはモジュール版、ハイスピード・エンタープライズプランはLiteSpeed版
- ConoHa WING:LiteSpeed版
次に法人向けのサービスについてです。
- CPI:FastCGI
- WebArena SuiteX:CGI版(ver5.6のみモジュール版も対応)
負荷の高いCGIを使う予定のある方は、PHPの高速化を取り入れているサービスの利用をおすすめします。