アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんわ。
お世話になっています。

アクセス集計を行うCGIがあるんですが、ローカルでちゃんと動作確認できたのにサーバにあげたら上手く動いてくれません。
CGIはあるログファイルからデータがあればカウントしてグラフ化し表示するものです。
一応、ちゃんとサーバ上で動作していたものらしい上、ローカルでちゃんと動作したのでスクリプトミスと言うことはないと思います。
考えられるとしたらパーミッションの設定かと思い、700,705,755,777と試したのですが結果は変わりありませんでした。
他に考えられる原因があるとすれば何かありますか?

ちなみにローカルで動作させた際のOSはWindowsです。
サーバはUnixですが、動作していたと思われるサーバもUnixでした。
Perlのバージョンは共に5.6です。

よろしくお願いします。

A 回答 (3件)

apacheを使用している前提です。

(linuxでのみ確認)
1.スクリプト aaa.cgiを/home/bbb/public_htmlで実行した場合です。(bbbは各ユーザ名)
1)suexecを使用している場合は、public_html及びaaa.cgiのパーミッションを共に755にする必要があります。
2)suexecを使用しない場合は、多少制約がゆるくなります。(777でもOKなど)
apacheのログは、どのようなものを出力していますか。
1)Premature end of script headersの場合は、suexec関連の可能が高いです。suexecのログを参照してください。
2)Options ExecCGI is off in this directoryの場合は、apacheの設定の問題(CGIの実行をそのディレクトリで許可していない)になります。
linux(redhat9) Apache/2.0.40では、
apacheのログは/var/log/httpd/error_log
suexecのログは/var/log/httpd/suexec.logとなります。
apacheに関しては
apche1.3の場合はhttp://httpd.apache.org/docs/
apahe2.0の場合はhttp://httpd.apache.org/docs-2.0/
を参照ください。
    • good
    • 0
この回答へのお礼

みなさんありがとうございました。
質問後、いろいろと見直し等行ってみました。
改行コードが一ヶ所のみ、Windowsの改行コードになっていたためでした。
ローカルがWindowsだったため、サーバで動かないのは当然ですよね^^;;;
いろいろ指摘していただき、ありがとうございました。
この場を借りてお礼申し上げます。

お礼日時:2003/11/10 12:03

Perlのパスの他に、


requireとかで呼び出す時に、
Windowsだから\を使ったのでは?
それを変えてみるとか。
    • good
    • 0

先頭行での


#!/usr/local/bin/perl(相手のサーバ環境により異なる)
は適切に記載されていますか?
ご確認下さい。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!