ローカルサーバで動作しない原因は?
[上に]
[前に]
[次に]
KEI
[E-Mail]
1999/06/05(土) 13:00:30
CGIをローカルサーバで、テストしようと思ったんだですが、ちゃんと動いてくれません。
ちなみに、今までにもテストしているし、ちゃんと動いていたので設定は出来てるはずです。
CGIスクリプトも、自分で作った訳ではなく、DLしてきたものです。
色々試してみたんですが、真っ白の状態でちゃんと動きません。
wwwサーバに送ってみたところ、そちらではちゃんと動きました。
ローカルサーバだけで動作しないのです。
ローカルサーバでも動作するようにするには、どうしたらよろしいのでしょう?
どなたか、アドバイスお願いしますm(__)m
sekita
1999/06/06(日) 00:13:12
たぶんローカルのwebサーバ名とそのスクリプトが
どういうものか記述しないとわからないでしょう。
wwwサーバと言うのはプロバイダのサーバでしょうか?
そこで動くのであればスクリプトとサーバの設定に矛盾が
あると思われますがこれだけでは分からないです。
ちはる
1999/06/06(日) 01:07:29
ありがちなのは、flock(ファイルの排他制御)関係をつかっているからとか。
とりあえずWindowsマシンなら、DOSプロンプトで perl に食わせてみるとか。
羽崎
1999/06/06(日) 01:28:17
sekitaさんも言ってますが、最低限、
OS(win,Mac,Unix,Unix clone or else)とwwwサーバ名、
CGIと関連付けるプログラムがわかったほうがよいです。
ほかに考えられるものとして、ローカルのOSでサポートされていないようなシステム関数(system(),exec()から呼び出し)が使われて
いないか?文字コードやパミッションはただしく設定されているか?
などが考えられます。
KEI
1999/06/06(日) 02:05:51
素人なんで、説明不足でもう仕訳けありませんm(__)m
えっと、OSは「Win95」でローカルサーバは「HTTP Daemon version1.16b」を使ってます。
CGIスクリプトは、http://www2.freeweb.ne.jp/~kei2/cgi-bin/abcheck.txtに、一応アップしておきました。
よろしくお願いします。
sekitaさん>
はい、wwwサーバはプロバイダと言うかフリーウェブのサーバです。
羽崎さん>
CGIと関連付けるプログラムとは、どういう事ですか?(;^_^A アセアセ…
技量不足なもんで、お手数かけて申し分けありません(><)
よろしければ、もう一度ご指摘お願いしますm(__)m
やっぱり
1999/06/06(日) 03:51:15
flock使ってるじゃん。
WinのPerlではflockっつー関数はサポートしちょらんのよね。
とりあえず、flock関係は全部封印して動かす事をオススメしましょう。
そんなに頻繁に呼び出されないスクリプトなら、ロックはしなくても平気だから。
KEI
1999/06/06(日) 16:27:47
[[解決]]
出来ました!
みなさんのアドバイスのおかげで、何とかローカルサーバでも動作確認出来ました。
ホントにありがとうございましたm(__)m
また、何か質問しに来るかもしれませんが、その時はよろしくお願いします。
ありがとうございました(^-^)
B-Cus
1999/06/06(日) 18:22:54
つーかさ、ログを見ましょうよ、ログを。
せっかくローカルにperlとWWWサーバ入れても、これじゃあ全然意味がない。
「どこがまずいの?」って言ってるようでは、プロバイダで動かしてるのと一緒です。
ログにflockがどうこうとか、何行目でエラーとか出てない?
それにコマンドラインからCGIスクリプトを実行したら、エラーの発生場所ってわからない?
エラー原因の切り分け方がわからなかったら、再度質問してください。
あたしゃWin95もHTTP Daemonも使ってないので答えられませんが、
誰か教えてくれるでしょう。
羽崎
1999/06/07(月) 03:15:30
>CGIと関連付けるプログラムとは、どういう事ですか?(;^_^A アセアセ…
Perlで書かれたスクリプトなのか、shやcshなどのシェルスクリプト
なのかCで書かれたアプリケーションなのか、という意味です。
>つーかさ、ログを見ましょうよ、ログを。
ログの見方はwinなら「ヘルプ」からひっぱってくればよいでしょうね。おそらく。
07
1999/06/08(火) 00:39:09
僕もWin95でAnHttpd 使ってますけど、スクリプトの上の方に
if($ENV{"SERVER_SOFTWARE"} =~ /AnWeb/){ $test="ok";}
とかって書いといて、flock の行を
flock(FILE,2) unless($test);
ってやれば、ローカルでは無視して、
サーバーでのみ動作してくれるのでは…
実際サーバーで flock が効いてるのか確認しようがないんですけど
とりあえずローカルでエラーは出ませんよ。
[上に]
[前に]
[次に]