こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

カウンタ

カウンタをCGIで作成しようとしています。
KENT WEBさんのdaycount使って作っているのですが、どうやっても何度やっても画像が表示されません。

index.html
  I
daycount
  I__daycount.cgi
  I__daycount.dat
  I__gifcat.pl
  I
  I__gif1 累計画像
  I__gif2 今日、昨日画像


CGIは掲示板、メールフォーム、日記なども設置したことがあって初めてではありません。
掲示板などはちゃんと設置することが出来るのですが、カウンタだけができません。
カウンタって設置するのに難しいのでしょうか??

設置講座などのサイトを見たのですが、カウンタの設置講座は教えてくれるだけで、質問が出来ないので表示できなくても何が原因か分からなくて困ってます。

親切なサイトや原因が分かる方教えてください。

投稿日時 - 2003-08-15 00:34:05

QNo.628098

困ってます

質問者が選んだベストアンサー

#2、#4、#6、#7です。

ものすご~くシンプルな答えのようです。

ロリポップでためしにスペースを借りて、
自分でカウンタを設置してみましたが、
いとも簡単に設置ができました。

パーミッションは、
GIF1、GIF2ディレクトリは【755】、
CGIが【755】、DATが【606】、
gifcat.plは【644】でした。

カウンタを表示させたいindex.htmlに
<img src="daycount/daycount.cgi?gif">
を追加しただけで、
daycount.cgiは一切いじりませんでした。
設置までにかかった時間およそ30秒、
こうなるとケアレスミスの可能性を疑ってみる必要がありますね。

CGIソースの

#============#
# 設定項目 #
#============#

から

#============#
# 設定完了 #
#============#

までの部分と、カウンタを表示するページに挿入したタグをそのままコピーしていただければ答えが出ると思います。

投稿日時 - 2003-08-19 02:20:53

お礼

あの後もう一度やってみたのですが、ちゃんとできました!!
何故出来たのか分からないのですが・・・。
一応言われたのをコピペしますね。

「設定項目」
# 画像連結ライブラリ取込み
require './gifcat.pl';

# 総カウント数の桁数
$digit1 = 5;

# 本/昨日カウント数の桁数
$digit2 = 3;

# 記録ファイル
$logfile = './daycount.dat';

# 総カウント用GIF画像のディレクトリ
# --> フルパスだと / から始るパス
$gifdir1 = './gif1';

# 本/昨日カウント用GIF画像のディレクトリ
# --> フルパスだと / から始るパス
$gifdir2 = './gif2';

# IPアドレスの二重カウントチェック
# 0 : チェックしない
# 1 : チェックする
$ip_check = 1;

# ファイルロック形式
# → 0=no 1=symlink関数 2=mkdir関数
$lockkey = 0;

# ロックファイル名
$lockfile = './lock/daycount.lock';

# カウンタの機能タイプ
# 0 : 総カウント数不要(昨日/本日のみ)
# 1 : 標準タイプ
$type = 1;
「設定完了」

「index」
<CENTER><TABLE>
<TR>
<TD>あなたは累計</TD>
<TD>
<TABLE BORDER=1>
<TR>
<TD><img src="daycount/daycount.cgi?gif"></TD>
</TR>
</TABLE>
</TD>
<TD>人目の訪問者です。</TD>
</TR>
</TABLE>
(本日は<img src="daycount/daycount.cgi?today">番目のアクセスです。
また昨日は<img src="daycount/daycount.cgi?yes">人のご来場者がありました)
</CENTER>
「index」

です。

出来たのですが、私も原因が知りたいので、もしこれで分かれば教えてもらえますか??

よろしくお願いします。

投稿日時 - 2003-08-19 20:46:06

このQ&Aは役に立ちましたか?

4人が「このQ&Aが役に立った」と投票しています

回答(9)

ANo.9

#2、#4、#6、#7、#8です。

動いたようでなによりです。

パッと見設定類はあってそうですね。
やはりパーミッションが原因の可能性が高いですが、
いまとなっては迷宮入りです(;^_^A アセアセ…

投稿日時 - 2003-08-21 03:30:22

お礼

はい。
私も動いたので、とりあえずよかったです。
何故動かなくて、何故動いたのか分かりませんが・・・

いろいろ調べていただいたりして、申し訳ございません。そしてありがとうございました。

では、この事件は迷宮入りということで。。。(^-^ゞ
ありがとうございます。

一人の30ポイントあげれないようなので、ここは20ポイントで失礼します。

投稿日時 - 2003-08-22 20:40:57

ANo.7

#6で書き忘れた分の追記です。

念のため各ファイル・ディレクトリのパーミッションをお教えください。

投稿日時 - 2003-08-18 22:58:59

ANo.6

#2、#4です。

>やってみたのですが、できませんでした。。。
>
>サーバーのパーミッションは3番の方が調べてくれたので、間違いはありません。

ちょっと誤解なさってるようなので補足しますね。
#3の方のおっしゃる通りのパーミッションの設定にするのが
このレンタルサーバーのルールです。
ですので、#3の方のおっしゃっていることは100%正しいのですが、
このルール通りにすると、このカウンタは動きません。

サーバーが要求する通りにパーミッションを設定すればカウンタは動かず、
カウンタCGIの要求するパーミッションにすることはサーバーのルールによってできないために
起きているトラブルと思われますので、

この手のトラブルは画像を変えても動かない可能性が高く、
ちょっと違う手法で回避させることになります。

>daycount.datのパーミッションが【600】のように一番右のケタが0になっているケース、
>gif1とgif2ディレクトリのパーミッションも同様に一番右のケタが0になっているケースが考えられます。

に該当しているかどうか(たぶんしていると思います)、
再度ご確認いただけますか。

投稿日時 - 2003-08-18 22:55:02

お礼

いろいろありがとうございます。

daycount.cgiは「755」にして、
gifたちは「755」
daycount.datは「644」
だったので、gifたちは「707」「704」「701」にして、daycount.datは「606」「604」とかにしてみました。

でも出来ません。
何故でしょう・・・

投稿日時 - 2003-08-19 01:09:17

ANo.5

FTPの転送で*.datファイルがバイナリ転送されていたりしませんか?
FTPソフトを変更したりするとハマりますよね…。

あとGIF画像は
1.インタレースの画像は使用できません。(ネットスケープで表示すると黒斜線が入ります)
2.GIFアニメーションは使用できません。
を満たしてますよね?

あとGIF画像のピクセル数が数字ごとに違うと言うことはないですよね?

投稿日時 - 2003-08-18 12:05:34

お礼

すべて確認したのですが、どうしてもどうやっても出来ませんんでした。。。

なぜ私だけできないのでしょう??
原因がまったくもって分からないので、途方にくれています。

でも、いつかできるよに頑張ります!
ありがとうございました。

投稿日時 - 2003-08-18 22:46:15

ANo.4

#2です。

おおよそ見当がつきました。

8割方パーミッションの設定が原因だと思います。

このカウンタは、

daycount.datのパーミッションが【606】あるいは【666】、
gif1とgif2ディレクトリのパーミッションが【701】あるいは【705】・【707】あたりで動きます。(他にもあります)

動かない例として、

daycount.datのパーミッションが【600】のように一番右のケタが0になっているケース、
gif1とgif2ディレクトリのパーミッションも同様に一番右のケタが0になっているケースが考えられます。

サーバー側のルールでパーミッションに規制があるようですが、

もし上記二種類に該当する場合、ちょっとした裏技を使って回避することができるかもしれませんので、
各ファイル・ディレクトリのパーミッションのチェックをお願いできますか?

投稿日時 - 2003-08-16 18:11:51

お礼

やってみたのですが、できませんでした。。。

サーバーのパーミッションは3番の方が調べてくれたので、間違いはありません。
画像を変えてみたら出来るかもしれないと聞いたので、画像を変えてチャレンジしてみます。

ありがとうございました。

投稿日時 - 2003-08-18 22:36:18

ANo.3

ロリポップ見てみましたが、特に特殊な設定は必要なさそうです

gif1
gif2
 は、ちゃんとディレクトリになっていますか?
 で、そのディレクトリに10個のGIFファイル入っていますか?
あと、パーミッションで777にするとエラーが出るそうですので
755にしてくださいね
666も600になります

再度、設定確認お願いします

参考URL:http://lolipop.jp/?mode=faq&state=detail&genreid=6&faqid=000030

投稿日時 - 2003-08-15 21:00:48

お礼

ほかのcgiは動くのに、カウンタだけができないのです。。
すべて確認したのですが、出来ませんでした。

細かく調べていただいてありがとうございました。
でも、どうすてもできません。

投稿日時 - 2003-08-16 01:02:20

ANo.2

非常にイレギュラーなケースが考えられます。

プロバイダやレンタルサーバーによっては、
CGIディレクトリ内の画像を表示できないルールのところがあります。

そこで、

・プロバイダまたはレンタルサーバーの業者名
・CGIスクリプトの1行目の記述内容

をお教え頂ければ、糸口が見えてくるかもしれません。

投稿日時 - 2003-08-15 03:42:00

補足

そのようなところがあるのですか??
知りませんでした。

レンタルサーバー:ロリポップ
1行目     :#!/usr/bin/perl

掲示板や日記は正常に作動するのに、カウンタだけできないってことがあるんですねぇ。

よろしくお願いします。。。

投稿日時 - 2003-08-15 19:43:35

ANo.1

画像のパスはあっていますか?
<img src="count/dayx.cgi?today">の記述も間違いないですか?
インタレースの画像、アニメーションGIFを使用していませんか?
lockディレクトリは作成しましたか?

KENT WEBのCGIはそれほど苦労せずに設置出来るタイプのが多いですよ
きっと、簡単な所でのミスだと思いますので、再度パスなどを
確認してみてください

投稿日時 - 2003-08-15 00:56:49

お礼

全て確認しましたが、間違いないです。
でも、出来ないのです。。

何故でしょう。。。
ホントに困っております。

発言ありがとうございます。

投稿日時 - 2003-08-15 00:58:52

あなたにオススメの質問