
アクセス集計等のCGIで、CSVファイルを使用しています。
元になるデータと、吐き出されるデータはCSVファイルになっているんですが、サーバ上で上手く動きません。
ローカルでテストした段階では、データの読み込みも吐き出しも正常に動作しています。
なので、おそらくパーミッションの設定の問題だと思われるんですが…とりあえず、600・606.666と試してみたんですが、読み込みに失敗しているような感じです。
CSVのパーミッションは一般的に666が使われると思っていたんですが…。
複数のファイルから結果を出すような形なので、CSVファイルも個別に設定する必要があるんでしょうか?
よろしくお願いしますm(__)m

No.5ベストアンサー
- 回答日時:
動作確認したのがローカル(windows)だとすると、そのスクリプトはWindowsで動作することを前提としたスクリプトではないでしょうか。
データの問題と言うよりはスクリプトの問題のような気がしてきました。スクリプトの中に、c:\aaaa\bbbb\ccccのような絶対パス名が含まれていると正しく動作しないと思います。
1.パスはUnixで使用できるパス名になっているか。
2.漢字を使用しているなら漢字コードは、問題ないか。
3.Windowsでのみ使用可能なコマンド(dir等)をスクリプトで使用していないか。
等をチェックしてみては如何でしょうか。
ありがとうございます。
残念ながらもともとサーバ上で動かしてあったものなんですよ。
それをいただいて、テスト的に動かしてみてるんです。
もともと載せられていたのはUnixサーバなのでスクリプト事態がWindows上での動作を前提として作られたものではないと思います。
諸事情ありでこのCGIの作成者に質問することができないので(>_<)
もう一度念のため確認をしているところなのですが…。
設定等で他に考えられることがあれば、またお願いします。

No.6
- 回答日時:
念の為の確認ですが、
1.WindowsのPerlのバージョン
2.サーバ(Unix)のPerlのバージョン
3.元々動いてたサーバのPerlのバージョン(もし判れば)
は何でしょうか。(マイナーバージョンも判れば教えて下さい)
WindowsがPerl5でサーバ(Unix)がPerl4の場合は、動かない可能性があります。
元々動いてたサーバのPerlのバージョンが判れば、それに今回のサーバのPerlのバージョンを合わせた方が良いかも知れません。
この回答への補足
ローカルもサーバも、Perlのバージョンはともに5.6です。
元々動いていたサーバのPerlのバージョンは残念ながらわかりません。
他にもいくつかcgiがあって、そっちの方は問題なく動いているので…。
ようやくうまく動きました!
原因はやはりOSの違いにあったようです。
スクリプトの一部(正規表現のオプション?)が間違っていたせいでした。
何度もありがとうございましたm(__)m

No.4
- 回答日時:
No3です。
もし、ローカルがWindowsでサーバーがUnixの場合ですが、WindowsでCSVファイルが読めて、Unixで読めない場合は、改行コードの問題があります。
WindowsはCR/LFですがUnixはLFです。
データをサーバーへ移動するとき、バイナリーモードで転送していませんでしょうか。テキストモードで転送しないと、通常は正しく読めないはずです。
この回答への補足
何度もありがとうございますm(__)m
お察しの通りローカルはWindows、サーバはUnixです。
改行コードを変更してアスキーモードで再転送したんですが変わりませんでした。
元になるCSVファイルも他のCGIより吐き出されているので改行コードの問題ではないと思うんですが…。

No.3
- 回答日時:
>エラーはないようです。
>他に考えられることがあるとすれば何かありますか?
どのようにして、エラーが無いことを確認されましたか?
例えば
$ret = open(FLH,"<$file");
if ($ret == 0){
printf("エラー\n");
}else{
printf("OK\n");
}
のようなスクリプトにして、"エラー"の部分が実行されないことを確認されましたでしょうか?
できましたら、オープン時のエラー判定部のスクリプトを提示していただけませんでしょうか。(読み込み用と書き込み用)
又、これでエラーが発生していないとすると、入力用のCSVファイルの内容が空であることが考えられます。(ファイルのパス名が正しくなくて、空のファイルを参照しているケースも含みます)
念の為、確認しますが、ローカルで確認した時のOSと
サーバで確認したときのOSは同じでしょうか。又、Perlのバージョンは、同じでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FFFTPでアップロードできない?
-
EXCELファイルに誰がアクセスし...
-
CGIでソースがそのままでてしま...
-
《エクセルVBA》「他の人が該当...
-
KENT WEB(昨日の続きです)
-
tplファイルのプレビューの方法
-
ラジオボタンのグループ化
-
ファイルのダウンロードがうま...
-
C# ファイル削除のエラーコード
-
ユーザの所属するグループを取...
-
ASPから既存のexcelブックを開...
-
htmlファイルにPHPとCGIを埋め込む
-
cgi→csvが文字化け
-
Perlプログラム上でアラートを表示
-
ローカル環境でサーバを2つ立て...
-
ApacheでのCGIについての質問
-
VB6でレジストリファイルをイン...
-
CGIのEncodeエラーについて
-
コンパイルされたCGI(C言語)を...
-
クライアントサイドとサーバー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FFFTP CGIのデータを...
-
CGIが読み書きするデータファイ...
-
Rubyで特定のディレクトリ以下...
-
CGI実行環境下の.jsや.cssが動...
-
HTTP接続
-
FTPにてパーミッション一斉変更...
-
htaccessでfirefoxのみエラーペ...
-
フォームに入力後、送信ボタン...
-
レンタルCGIの仕組み
-
BASIC認証式パスワード管理で質問
-
CGIでjcode.plを読み込めなくな...
-
500 Internal Server Err で困...
-
.htaccessを2つ以上設置した場合
-
これらの2つの違いを教えて下...
-
シェルにてファイルの自動削除...
-
アップしたフォルダが消せない
-
階層を変えると動作しないです。
-
PCと携帯の振り分けCGI
-
以前書きこんだ者です。Apache...
-
CGI初心者です
おすすめ情報