Apache HTTP インフラ

Webサーバーの環境変数やHTTPヘッダーを表示するprintenv.cgiを利用する方法

2018年2月17日

こんにちは!シミダイ(@shimidai2100)です。

ApacheなどのWebサーバでサーバーの環境変数やHTTPのヘッダー情報を表示するとデバッグ作業が非常に効率的になります。

多くのレンタルサーバではこの機能を有するCGIは削除されていますが、デバッグ時には重宝するので覚えておくことをオススメします。

まだApacheがインストールしていない人は↓の導入手順を参照してください。

LinuxにApacheをインストールする方法

こんにちは!シミダイ(@shimidai2100)です。 Apecheをインストールする手順について紹介します。 インス ...


導入手順

導入手順は非常に簡単です。PHPで「printenv.cgi」に以下のソースを記述します。

#!/usr/bin/php

<? php phpinfo(); ?>

一行目の「#!/usr/bin/php」は各環境で違います。

which perl

PHPが使えない環境では、Perlなどで記載してもOKです。。一行目の「#!/usr/bin/perl 」は

#!/usr/bin/perl

print "Content-type: text/plain\n\n";
foreach $var (sort(keys(%ENV))) {
    $val = $ENV{$var};
    $val =~ s|\n|\n|g;
    $val =~ s|"|\"|g;
    print "${var}=\"${val}\"\n";
}

一行目の「#!/usr/bin/perl 」は各環境で違います。

which perl

わからない場合は↑のコマンドでperlのパスを確認してみてください。

作成したprintenv.cgiを「/var/www/cgi-bin」に配置します。

Apacheの設定によっては、「/var/www/cgi-bin」が違う場所に設定されている可能性があります。

httpd.conf」の中で「cgi-bin」で確認してみてください。

実行方法

実行方法は簡単で「http://ホスト名 or IPアドレス:ポート番号/cgi-bin/CGIファイル」にアクセスすればOKです。

以下のような画面が出力されます。

詳細な時刻結果を載せたいのですが、重要な情報がのっているため一般的な値と内容を記載します。

[table id=17 "20%|80%” /]

その他アプリケーションから渡された情報を

関連記事

-Apache, HTTP, インフラ

Copyright© shimidai2100 , 2020 All Rights Reserved.