OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

ローカルではうまくいってたのに、サーバにあげるとエラーになります、これってどうして?

  • すぐに回答を!
  • 質問No.105112
  • 閲覧数118
  • ありがとう数0
  • 気になる数0
  • 回答数6
  • コメント数0

お礼率 30% (17/55)

 自分のPC上では、うまく作動していたのに、サーバにアップしてみるとエラーがでてきます。これってなぜなんでしょうか?
 perlの書き方を変えると動くって聞いた事があります。それってなぜでしょうか。
また、書き換えるコマンド、関数ってだいたい決まってると思うんですが、どういうコマンドが引っかかるんでしょうか?
 困ってます。
通報する
  • 回答数6
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.5
レベル4

ベストアンサー率 50% (1/2)

CSVファイルのパーミッションを666にしてみてはどうですか?
644でも動くと思うので、期待薄ではありますが・・・・
どれも、間違っていないとなると厄介ですね。

絶対に動く!スクリプトを一つ組んで、アップロードして
稼動するか確認してみたらどうですか?
それを設定して、動けばプログラム中のコマンドが引っかかっている事になりますし、動かなければ、サーバーの設定に間違いがあると言う事になります。

絶対に動くスクリプトをサンプルで載せておきます。
必要な部分を書き換えてやってみてください。

あと、CGIがリードする、CSVファイルは必ずありますか?
もし、無かったら、ファイルオープン時にエラーになりますよ。(書込みは自動生成される)


********サンプル*******
#!/usr/bin/perl

require 'cgi-lib.pl';

######ファイルオープンチェック#####このブロックは消しても良い

open (FILE,"ファイル名");
flock(FILE,2);

flock(FILE,8);
close(FILE);
#######################################
print "Content-type: text/html\n\n";
print <<"EOF";

<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE>絶対に動く!</TITLE>
</HEAD>
<BODY>
動いたよ!
</BODY>
</HTML>
EOF
exit ;
-PR-
-PR-

その他の回答 (全5件)

  • 回答No.1
レベル9

ベストアンサー率 24% (19/79)

・ローカル・サーバでのPerlのバージョンの確認。 (サーバの方がバージョンが古くないか?) ・パーミッションの確認 (実行するファイルに実行の権限がついてるか) ・ファイル指定の確認 (絶対パス指定のファイルがないか?) ・Perlのパスの確認 (/usr/bin/perlや、/usr/local/bin/perlとか。) まずこれを確認してみることをお勧めします。 ...続きを読む
・ローカル・サーバでのPerlのバージョンの確認。
(サーバの方がバージョンが古くないか?)
・パーミッションの確認
(実行するファイルに実行の権限がついてるか)
・ファイル指定の確認
(絶対パス指定のファイルがないか?)
・Perlのパスの確認
(/usr/bin/perlや、/usr/local/bin/perlとか。)

まずこれを確認してみることをお勧めします。
補足コメント
Iam2888

お礼率 30% (17/55)

バージョンについてなんですけど、ローカルサーバを友人に組んでもらったため不明です。原因はそれなんでしょうか・・・
もしその場合、どうすればいいのでしょうか?
投稿日時 - 2001-07-16 20:15:03
  • 回答No.2
レベル13

ベストアンサー率 29% (334/1115)

・プログラムの最初にあるPerlのパスがあっていない  (#!perl とかいう行)  #!の後に、Perlのパスを設定してください。  ホームページサービスの説明書で確認してください。 ・パーミッション(属性)が正しくない  プログラムは755、データは666等に設定してください。 ...続きを読む
・プログラムの最初にあるPerlのパスがあっていない
 (#!perl とかいう行)
 #!の後に、Perlのパスを設定してください。
 ホームページサービスの説明書で確認してください。
・パーミッション(属性)が正しくない
 プログラムは755、データは666等に設定してください。
  • 回答No.3
レベル4

ベストアンサー率 50% (1/2)

サーバーでエラーが出る原因は以下の通りです。 (1)スクリプト自体のパーミッションが間違っている場合。   通常CGIは755にします。サーバーによってパーミッションが指定されている場合があるので、確認してください。 (2)スクリプトから書込みをしている、ファイル関連のパーミッション指定漏れ   CGIから書きこんでいるファイルのパーミッションは666にして下さい。   又、そのファイルがデ ...続きを読む
サーバーでエラーが出る原因は以下の通りです。
(1)スクリプト自体のパーミッションが間違っている場合。
  通常CGIは755にします。サーバーによってパーミッションが指定されている場合があるので、確認してください。

(2)スクリプトから書込みをしている、ファイル関連のパーミッション指定漏れ
  CGIから書きこんでいるファイルのパーミッションは666にして下さい。
  又、そのファイルがディレクトリの中にある場合、そのディレクトリのパーミッションは777にして下さい。

(3)Perlのパスの間違い。
  #!/usr/bin/perlや#!/usr/bin/perlとなります。
  これも、サーバーの設定を確認して下さい。

(4)最後に、FTP時の転送モードミス
  PCからCGIファイルを転送する場合、ASCIIモードで転送して下さい。バイナリモードで転送すると、必ずエラーになります。

以上を確認して下さい。
補足コメント
Iam2888

お礼率 30% (17/55)

う~ん、どれも合ってるはず・・・です。
投稿日時 - 2001-07-16 20:13:26
  • 回答No.4
レベル10

ベストアンサー率 36% (60/164)

はじめまして。 下の人達が書いたことを繰り返し書くことはやめます。 サーバはどこのサーバを使用しているのですか? 下の人達が書いたことをやってもCGIがエラーを起こすと いうことは... 1.はじめのラインを   #!/usr/local/bin/perl   にしてみる。 2.jcode.plをアップしてないとか。 3.そのCGIと一緒にアップしたファイル・フォルダの   パ ...続きを読む
はじめまして。
下の人達が書いたことを繰り返し書くことはやめます。
サーバはどこのサーバを使用しているのですか?
下の人達が書いたことをやってもCGIがエラーを起こすと
いうことは...
1.はじめのラインを
  #!/usr/local/bin/perl
  にしてみる。

2.jcode.plをアップしてないとか。

3.そのCGIと一緒にアップしたファイル・フォルダの
  パーミッション・場所が違うとか。

エラーといってもいろいろあるのでどのようなエラー表示に
なるのか知りたいです。
補足コメント
Iam2888

お礼率 30% (17/55)

いちおう、2については、問題ありません。
パーミッションは、csvデータを多用してます。データはすべて644になっております。
URL乗せておきます。HPでは、サンプルを選択してください。
よろしくお願いします。
投稿日時 - 2001-07-16 21:01:41
  • 回答No.6
レベル10

ベストアンサー率 36% (60/164)

こんにちわ。またnovaakiraです。 URL載せておきますといわれましても..... どこにでしょうね? あと、確か投稿には自分のページへのURLを 書いてはいけないときいたことがあるのですが..... ですからCGIスクリプトそのものとその他に必要なファイル の名前を書いてもらえませんか?
こんにちわ。またnovaakiraです。
URL載せておきますといわれましても.....
どこにでしょうね?

あと、確か投稿には自分のページへのURLを
書いてはいけないときいたことがあるのですが.....

ですからCGIスクリプトそのものとその他に必要なファイル
の名前を書いてもらえませんか?
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ