Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0008に戻る

タイトル: SSIがうまく動かない…
記事No: 2429
投稿日: 2004/07/18(Sun) 23:17
投稿者: AKI   <aki_int@plum.freemail.ne.jp>
URL: http://akim.dip.jp/201.txt
はじめまして、AKIと申します。
最初の投稿が質問で恐縮なのですが、OSを再インストールしたところ、以前動いていたSSI(といっても単なるアクセスカウンタなんですが)がまともに動かなくなってしまいました。
SSIとしては動作しているようで、<!--#exec cmd="echo aaa"-->とやればaaaと表示されます。
しかし、自作のPerlスクリプトを
<!--#exec cmd="./cgi-bin/stc100/stc100.cgi count"-->
として実行しようとすると、何も表示されません。
/var/log/httpd/error_log
には、
/bin/sh: -c: line 1: unexpected EOF while looking for matching ``'
/bin/sh: -c: line 2: syntax error: unexpected end of file
とのこっているので、スクリプトのどこか(しかも最初のほう?)がおかしいのだろうとは思うのですが、
ターミナルから
$ ./cgi-bin/stc100/stc100.cgi count
と実行してやると、期待通りの動きをするので、原因がまったく分からず、行き詰っています。

環境は
VineLinux2.6r4(最小インストール→apt-get update, apt-get upgrade)
+Apache/1.3.27 (Unix) (Vine/Linux)
です。ほかにいくつかパッケージはインストールしましたが、関係ありそうなものは↑だけだとおもいます。

ではよろしくおねがいします。

# スクリプトの最初のほうを張っておきます。
# (最初の -- を取ると、Bad Interpreterといわれてターミナルからも実行できませんでした。)

#!/usr/bin/perl --

# 設定
$countfilename ="count.dat";
$lockfilename = "count.dat.lock";
$analysisfilename = "analysis.dat";
$datadir ="/data/data/aki/cgi-bin/stc100/"; #データディレクトリ。/で終わる。

# http://akim.dip.jp/201.txt に全スクリプトをおいてありますが、気まぐれでつけているサーバーなので見れないかもしれませんw

タイトル: Re: SSIがうまく動かない…
記事No: 2431
投稿日: 2004/07/18(Sun) 23:45
投稿者: まめ
> 最初の投稿が質問で恐縮なのですが、OSを再インストールしたところ、以前動いていたSSI(といっても単なるアクセスカウンタなんですが)がまともに動かなくなってしまいました。

以前動いていたSSIなのなら、今も動くはずだと思うんですが。
Apacheの設定(特にSSIに関する箇所)を以前と同じにしてありますか?

タイトル: スクリプトがおかしい?
記事No: 2433
投稿日: 2004/07/19(Mon) 08:50
投稿者: AKI   <aki_int@plum.freemail.ne.jp>
URL: http://akim.dip.jp/201.txt
> 以前動いていたSSIなのなら、今も動くはずだと思うんですが。
> Apacheの設定(特にSSIに関する箇所)を以前と同じにしてあり
ますか?

SSI自体は動作しているようです。
簡単なスクリプト
#!/bin/sh
echo aaa
を<!--#exec cmd="./cgi-bin/test.sh"-->としてやればきちん
とaaaと表示されるので、Apacheの設定は間違っていないと思います。

また、以前でていたエラーメッセージですが、SHTML中のダブルクウォ
ートが一つシングルクウォートに知らないうちに化けていた(汗)ため
だと分かりました。

自分で(スクリプト中で)環境変数を与えてコンソールから実行する
と、問題なく動作しているように見えるのに、いざSSIで使おうとする
と、予期されない動作をします…

このようになる原因というと、どのようなものが考えられますか?
以前カレントディレクトリが違う、というのではまったことがありま
したが、今回はスクリプト中にディレクトリを(絶対パスで)指定する
ようにしちゃいましたし…

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net