tomohiroさん、いらっしゃいませ。
筆者のかたわれのキャメルです。
#0779(tomohiro氏)の書き込みを引用します:
>色々いじってるうちにうまくいきました。
>けれど、参照するHTMLファイルと、CGI、PLファイルなどは同じ
>ディレクトリにおかないと
>だめなのでしょうか?そうしないと動かないみたいです。
説明が足りなくて、もうしわけありません。
問題のスクリプトは、冒頭で
$logfile = "access2.log";
として、ログファイルがカレントディレクトリに存在することを
前提にしています。ところが、SSIスクリプトを実行するときは、
「HTMLファイルのあるディレクトリ」がカレントディレクトリです。
そのため、HTMLファイルとPLファイルが別ディレクトリにあると、
問題のスクリプトは、うまく動作してくれません。
これを避けるには、SSIスクリプト中で、ログファイル名を
パス付きで指定してください。
たとえば、tomohiroさんの最初の書き込みのファイル配置なら、
$logfile = "./cgi-bin/access/access.log";
とします。つまり、HTMLファイルからの相対指定で、ログファイルの
パスを指定するわけです。相対指定パスでなく、絶対指定パスでも
オーケーです。
ちなみに、SSIではなくて、CGIスクリプトを実行するときは、
CGIスクリプト自身のディレクトリがカレントディレクトリになります。
(以上、記憶だけで書いたので、ちょっと不安です。いちおう正しい
はずだと思いますが、明日までにちゃんと調べておきます)