アクセス集計等の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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- Visual Basic(VBA) VBA 毎日取得するデータを順番に反映していく方法 6 2023/08/26 16:22
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Access(アクセス) CSVファイルの「0落ち」にVBA 6 2023/02/02 15:27
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- XML PHP.laravelについて 1 2023/07/06 15:26
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
シェルにてファイルの自動削除...
-
EXCELファイルに誰がアクセスし...
-
SFTPなどは使わないホームペー...
-
クライアントサイドとサーバー...
-
URLに~/cgi-bin/~を隠す方法
-
表示画面が真っ白になる場合、...
-
《エクセルVBA》「他の人が該当...
-
perlでpostが受け取れない
-
cgiにアクセスしても画面が真っ白
-
VBAでサーバーにアクセスするに...
-
HTTP500内部サーバーエラーと表...
-
ASPからJavaScriptへの受け渡し...
-
ローカルではうまくいってたの...
-
CGIでソースがそのままでてしま...
-
CGIでのPC内でのテストで画面が...
-
イントラネット用HP アクセス解...
-
ホームページのレイアウトが崩...
-
Webからアクセスし、画面のボタ...
-
水天宮前・人形町周辺深夜まで...
-
KENT WEB(昨日の続きです)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIが読み書きするデータファイ...
-
.htaccessを2つ以上設置した場合
-
FFFTPでアップロードできない?
-
CGI実行環境下の.jsや.cssが動...
-
WIn32API ディレクトリ内ファイ...
-
イントラネットのwebページのア...
-
JavaScriptdeファ...
-
CSVファイルのパーミッションは?
-
Apacheのcgi-bin
-
なぜフォルダ名がcgi-binなの?
-
階層を変えると動作しないです。
-
mimeの取得方法
-
CGIでjcode.plを読み込めなくな...
-
Cで作ったexeファイルをCGIとし...
-
SSIの日付の文字化けの対処方法...
-
AutoRinkの設定。
-
ディレクトリを指定してディレ...
-
CGI 設置方法
-
Rubyで特定のディレクトリ以下...
-
Borland C++ Compiler のセット...
おすすめ情報