![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
アクセス集計等のCGIで、CSVファイルを使用しています。
元になるデータと、吐き出されるデータはCSVファイルになっているんですが、サーバ上で上手く動きません。
ローカルでテストした段階では、データの読み込みも吐き出しも正常に動作しています。
なので、おそらくパーミッションの設定の問題だと思われるんですが…とりあえず、600・606.666と試してみたんですが、読み込みに失敗しているような感じです。
CSVのパーミッションは一般的に666が使われると思っていたんですが…。
複数のファイルから結果を出すような形なので、CSVファイルも個別に設定する必要があるんでしょうか?
よろしくお願いしますm(__)m
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.5ベストアンサー
- 回答日時:
動作確認したのがローカル(windows)だとすると、そのスクリプトはWindowsで動作することを前提としたスクリプトではないでしょうか。
データの問題と言うよりはスクリプトの問題のような気がしてきました。スクリプトの中に、c:\aaaa\bbbb\ccccのような絶対パス名が含まれていると正しく動作しないと思います。
1.パスはUnixで使用できるパス名になっているか。
2.漢字を使用しているなら漢字コードは、問題ないか。
3.Windowsでのみ使用可能なコマンド(dir等)をスクリプトで使用していないか。
等をチェックしてみては如何でしょうか。
ありがとうございます。
残念ながらもともとサーバ上で動かしてあったものなんですよ。
それをいただいて、テスト的に動かしてみてるんです。
もともと載せられていたのはUnixサーバなのでスクリプト事態がWindows上での動作を前提として作られたものではないと思います。
諸事情ありでこのCGIの作成者に質問することができないので(>_<)
もう一度念のため確認をしているところなのですが…。
設定等で他に考えられることがあれば、またお願いします。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.6
- 回答日時:
念の為の確認ですが、
1.WindowsのPerlのバージョン
2.サーバ(Unix)のPerlのバージョン
3.元々動いてたサーバのPerlのバージョン(もし判れば)
は何でしょうか。(マイナーバージョンも判れば教えて下さい)
WindowsがPerl5でサーバ(Unix)がPerl4の場合は、動かない可能性があります。
元々動いてたサーバのPerlのバージョンが判れば、それに今回のサーバのPerlのバージョンを合わせた方が良いかも知れません。
この回答への補足
ローカルもサーバも、Perlのバージョンはともに5.6です。
元々動いていたサーバのPerlのバージョンは残念ながらわかりません。
他にもいくつかcgiがあって、そっちの方は問題なく動いているので…。
ようやくうまく動きました!
原因はやはりOSの違いにあったようです。
スクリプトの一部(正規表現のオプション?)が間違っていたせいでした。
何度もありがとうございましたm(__)m
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
No.4
- 回答日時:
No3です。
もし、ローカルがWindowsでサーバーがUnixの場合ですが、WindowsでCSVファイルが読めて、Unixで読めない場合は、改行コードの問題があります。
WindowsはCR/LFですがUnixはLFです。
データをサーバーへ移動するとき、バイナリーモードで転送していませんでしょうか。テキストモードで転送しないと、通常は正しく読めないはずです。
この回答への補足
何度もありがとうございますm(__)m
お察しの通りローカルはWindows、サーバはUnixです。
改行コードを変更してアスキーモードで再転送したんですが変わりませんでした。
元になるCSVファイルも他のCGIより吐き出されているので改行コードの問題ではないと思うんですが…。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_14.png?e8efa67)
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ランキング
-
CGI実行環境下の.jsや.cssが動...
-
EXCELファイルに誰がアクセスし...
-
古ーくからフリーのtree.cgi掲...
-
オフラインでCGIを動かす
-
Perlの日記プログラムがIIS+Act...
-
プロバイダで定められたPerlへ...
-
cgiのパスについて
-
vbでFTPサーバーに対して、サー...
-
直リンク用バナーの作り方
-
.htaccessを用いて.cgiを.html...
-
CGIでソースがそのままでてしま...
-
画像アップ時のエラー
-
自作サーバーでムーバブルタイ...
-
ASP(IIS?)のエラーについて
-
VBScriptで、ファイルから任意...
-
cgi アクセス制限 エラー
-
レンタルサーバーで <base href...
-
さくらのサーバーでwww配下のcg...
-
ブログや掲示板の作り方
-
CGIってどうなの?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FFFTPでアップロードできない?
-
なぜフォルダ名がcgi-binなの?
-
インクルードファイルのエラー
-
私書箱掲示板プラス添付ファイル
-
CGIでjcode.plを読み込めなくな...
-
mimeの取得方法
-
AutoRinkの設定。
-
cron設定時のディレクトリの絶...
-
これらの2つの違いを教えて下...
-
SSIからCGIを起動するときのパ...
-
Apache+Tomcat+Cocoonの組み合...
-
KENTさんのところのサイト内検...
-
異なるディレクトリからライブ...
-
CGI実行環境下の.jsや.cssが動...
-
ロックエラー?
-
.htaccessを2つ以上設置した場合
-
UNIXサーバでファイルを不可視...
-
RubyベースのWiki(Hiki)について
-
perl 特殊配列@INC について
-
WIn32API ディレクトリ内ファイ...
おすすめ情報