サンプルコードを使ったCGI(Perl)動作確認
Perl を使って CGI スクリプトを作成し、実際に Apache のドキュメントルートや ScriptAlias ディレクティブで設定したディレクトリに配置して、 Apache で CGI が利用可能になっているかどうかを確認します。
(Last modified: )
CGIスクリプトのサンプル
CGI の動作確認用に簡単なサンプルを作成します。 Perl を使用して CGI を記述する場合、 1 行目には Perl へのパスを決められた書式で記述する必要があります。
XAMPP を使って Perl をインストールした場合、 Perl の実行ファイルは XAMPP をインストールしたディレクトリの下の perl\bin\perl.exe にあります。
テキストエディタで次のように CGI スクリプトを記述しました。
#!D:\xampp\perl\bin\perl.exe print "Content-type: text/html\n"; print "\n"; print "<!DOCTYPE html>\n"; print "<html lang=\"ja\">\n"; print "<head>\n"; print "<meta charset=\"UTF-8\">\n"; print "<title>CGI Sample</title>\n"; print "</head>\n"; print "<body>\n"; print "<p>Hello</p>\n"; print "</body>\n"; print "</html>\n";
作成したファイルをドキュメントルートに hello.pl という名前で保存しました。またまったく同じ内容のファイルをもう一つ作成し hello.txt として保存しました。
ドキュメントルートにCGIスクリプトを設置する
それでは Apache が起動した状態で、ブラウザから http://localhost/hello.pl へアクセスしてください。拡張子 .pl のファイルは CGI として実行され、その結果が画面に出力されます。
同じようにブラウザから http://localhost/hello.txt へアクセスしてください。拡張子 .txt のファイルは CGI スクリプトとは認識されないので、ファイルの内容がそのまま画面に出力されます。
ScriptAliasディレクティブで設定したディレクトリにCGIスクリプトを設置する
次に先ほど作成した hello.pl と hello.txt を ScriptAlias ディレクティブで設定した D:/xampp/cgi-bin/ にコピーします。
ブラウザから http://localhost/cgi-bin/hello.pl へアクセスしてください。 /cgi-bin/xxx の URL でアクセスがあった場合は、ドキュメントルート以下ではなく ScriptAlias ディレクティブで設定された D:/xampp/cgi-bin/xxx のファイルが CGI として実行されてその結果が画面に出力されます。
ブラウザから http://localhost/hello.txt へアクセスしてください。 ScriptAlias ディレクティブで設定したディレクトリに設置したファイルは、ファイルの拡張子に関係なくすべて CGI スクリプトとして実行されるため、拡張子が .txt のファイルですが CGI スクリプトとして実行されてその結果が画面に表示されます。
-- --
Perl を使った CGI スクリプトのサンプルを作成し、 Apache 経由で CGI が利用可能かどうかを確認しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。