Tips

CGI と PHP(モジュール版) の違い

投稿日:

レンタルサーバーにおける「CGI」と「PHP(モジュール版)」の違いについて書きます。

1. 「CGI」と「PHP(モジュール版)」の共通点

CGI」と「PHP(モジュール版)」のどちらも、Webページとしてプログラムを実行させる機能です。ウェブブラウザで特定のURLにアクセスすると、ウェブサーバー側でそれに対応するスクリプトを実行させることができます。

CGI では いろいろなプログラミング言語が使えますが、レンタルサーバーサービスによって、用意されているプログラミング言語に違いがあります。PHP も CGI として使うことはできるのですが、それよりはウェブサーバーのモジュールとして組み込まれた機能として利用される場合が多いため、「CGI」と「PHP(モジュール版)」という2つを取り上げています。レンタルサーバーでは、この2種類が用意されていることが多いです。

2. 両者の違いと「PHP(モジュール版)」の手軽さ

レンタルサーバーサービスを契約して利用する立場から見ると、「PHP(モジュール版)」を使う方がラクです。

その例として、HTML文書として「Hello!」と画面に表示する場合を比較してみます。

※ エックスサーバーを使った例になります。

1. CGI の場合

エックスサーバーでの CGI はいろいろなプログラミング言語が使えますが、ここでは Perl を使った例を示します。

ドキュメントルートとなるディレクトリに、以下の内容を記述した hello.cgi というファイル名のファイルを作成します。

#!/usr/bin/perl

print "Content-type:text/html\n\n";

print "<html lang=\"ja\">\n";
print "<head>\n";
print "  <meta charset=\"UTF-8\">\n";
print "  <meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\">\n";
print "  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n";
print "  <title>Test</title>\n";
print "</head>\n";
print "<body>\n";
print "Hello!\n";
print "</body>\n";

ウェブブラウザでこのファイルにアクセスすると、画面に「Hello!」と表示されます。

※ 最低限の機能で説明したいので、perl のライブラリは使っていません。

2. PHP の場合

同じことを、PHP(モジュール版)でやってみます。

以下の内容をファイルを作成し、ドキュメントルートとなるディレクトリに hello.php というファイル名を付けます。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Test</title>
</head>
<body>
  Hello!
</body>
</html>

PHP の場合は HTML がそのまま書けるため、わざわざ print のような命令(関数)を使う必要がありません。
あえて、「Hello!」をPHPの命令で出力するのであれば、echo という命令を PHPのタグで囲います(<?php?>)。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Test</title>
</head>
<body>
  <?php echo "Hello!"; ?>
</body>
</html>

こちらも、ウェブブラウザからこのファイルにアクセスすると、画面に「Hello!」と表示されます。

2つのファイルを比べてみると、明らかに PHP の方が記述が簡単で分かりやすいです。

他にも両者の違いはいろいろありますが、これがPHPの一番の利点だと思います。

参考

-Tips

執筆者:fitallright

関連記事

Windows で、.htaccess(先頭がドットで始まり拡張子を持たないファイル名の)ファイルを作成する方法

レンタルサーバーでは、.htaccess ファイルを使ってサーバー側の設定を変更することが許されているものが多くあります。 そこで、この機能を利用しようと思い Windows のエクスプローラー上で …

Webサイトで絵文字を使う

Webサイトに絵文字を使う方法について説明します。 目次1. 絵文字を探す2. HTML内で絵文字を使う2つの方法1. 絵文字をそのままコピー&ペーストする方法2. 数値文字参照を使う方法3. Wor …

no image

ロリポップ!マネージドクラウドを使ってみた感想と記録

↑この記事から分かるように、2018年10月1日から12月31日までの間【ロリポップ!マネージドクラウドのご利用料金が全額無料】となります。 ここでは、ロリポップ!マネージドクラウド を使ってみた時の …

【エックスサーバー】サイトを編集する時は、mod_pagespeed をオフにしましょう

2019年3月27日:「mod_pagespeed設定」機能の新規設定の受付が終了しました。 「mod_pagespeed設定」機能の新規設定の受付終了について – 2019/03/27 …

WordPress に Font Awesome 5 を導入する方法

WordPress に Font Awesome 5 を導入する方法について説明します。 目次1. はじめに本ページで説明する方法について2. 導入手順「SVG with JS」の導入手順「Web F …

ロリポップ!「スタンダードプラン」
さくらのレンタルサーバ「スタンダードプラン」