SSIでの環境変数

SSIでプログラムが実行されるときの環境変数の一覧。

 http://orange/~hori/test/env.htm?foo=1&bar=2#hoge
というURIで呼び出した。env.htmはこんな感じ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
  <title>Environment Variables (SSI)</title>
</head>
<body>
<!--#exec cmd="./env.rb foo bar"-->
</body>
</html>

CGIとSSIとで共通の環境変数

DOCUMENT_ROOT/usr/local/apache/htdocs
GATEWAY_INTERFACECGI/1.1
HTTP_ACCEPT*/*
HTTP_ACCEPT_ENCODINGgzip, deflate
HTTP_ACCEPT_LANGUAGEja,en;q=0.5
HTTP_CONNECTIONKeep-Alive
HTTP_HOSTorange
HTTP_USER_AGENTMozilla/4.0 (compatible; MSIE 5.5; Windows 95)
PATH/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
QUERY_STRINGfoo=1&bar=2
REMOTE_ADDR192.168.1.3
REMOTE_PORT1105
REQUEST_METHODGET
REQUEST_URI/~hori/test/env.htm?foo=1&bar=2
SCRIPT_FILENAME/home/hori/public_html/test/env.htm
SCRIPT_NAME/~hori/test/env.htm
SERVER_ADDR192.168.1.9
SERVER_ADMINhori@orange.fruits
SERVER_NAMEorange.fruits
SERVER_PORT80
SERVER_PROTOCOLHTTP/1.1
SERVER_SIGNATURE<ADDRESS>Apache/1.3.20 Server at orange.fruits Port 80</ADDRESS>
SERVER_SOFTWAREApache/1.3.20 (Unix)

SCRIPT_FILENAME,SCRIPT_NAMEが"env.rb"ではなく,"env.htm"になっている。

SSI独自の環境変数

SSIではホストに関する情報が環境変数に収納される。

DATE_GMTTuesday, 02-Oct-2001 15:12:16 GMT
DATE_LOCALWednesday, 03-Oct-2001 00:12:16 JST
DOCUMENT_NAMEenv.htm
DOCUMENT_PATH_INFO
DOCUMENT_URI/~hori/test/env.htm
HOSTNAMEorange.fruits
HOSTTYPEi586
LAST_MODIFIEDTuesday, 02-Oct-2001 23:58:22 JST
MACHTYPEi586-pc-linux-gnu
OSTYPElinux-gnu
PWD/home/hori/public_html/test
QUERY_STRING_UNESCAPEDfoo=1\&bar=2
SHELL/bin/sh
SHLVL1
TERMdumb
USER_NAMEhori
_./env.rb

SHLVLは,ログインシェルでは1と設定され,以降,子シェル,孫シェルと起動するごとに2, 3, ...となる。

サイト内関連ページ

CGI実行時の環境変数