- - PR -
RedHat9でperlが動かない
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-08-22 11:19
RHLの9なら私もちょっと引っかかりました。
CGIスクリプトはFTPでアップロードしてサーバに置いていますか? だとすると、(今手元にないので詳しく覚えてないのですが)RHL9のftpサーバはデフォルトではASCIIモードでのアップロードが禁止されていたように記憶してます。 それも、アップロード時にエラーを起こすとかではなく黙ってバイナリでアップロードされてしまうのでなかなか気がつきませんでした。 ftpdのconfファイルの中に、ASCIIでのアップロード禁止が指定されているので、それを外す必要があります。 手元に環境がある方ならこれで解りますかね?もしわからなければ、後で自宅に戻ってから確認して書き込みます。 | ||||||||
|
投稿日時: 2003-08-22 12:32
WindowsだとデフォルトではCRLFになりますがその点は大丈夫ですか? jack_pmaさんが指摘されているように asciiモードで転送しないとトラブルの元です。 (binaryモードでアップロードすると改行コードが変換されません。) RH9側の転送したファイルの改行コードが '0d 0a' になっていないか hexedit等の バイナリエディタで確認してください。 インストールされていなければ変換コマンドで強制的に変更しても OKです。 --------- ※追記 # cat -v test.cgi で確認できるようです。CRLFだと末尾に '^M'がくっついてます。 ---------- # dos2unix test.cgi だったかな? または # mv test.cgi test.cgi.orig # tr -d '\r' < test.cgi.orig > test.cgi
もちろん、動くものはあっても動きます。 [ メッセージ編集済み 編集者: Marionette 編集日時 2003-08-22 13:37 ] | ||||||||
|
投稿日時: 2003-08-22 12:34
2003-08-18 11:01付投稿の「ファイルがたくさんあってたいへん」ということなら
findやsedなどを組み合わせてスクリプトを書けば簡単にできます。 たぶん10分もあれば終わるでしょう。 [ メッセージ編集済み 編集者: Marionette 編集日時 2003-08-22 12:47 ] | ||||||||
|
投稿日時: 2003-08-22 22:19
jack_pmaさんこんにちは。
おっしゃるとおり、 vsftpdのデフォルト設定で、ASCII転送が無効になっていました。 WindowsからffftpでASCIIモードでアップロードしても エラーにならないので気づきませんでした。 /etc/vsftpd/vsftpd.conf の中の、 #ascii_upload_enable=YES #ascii_download_enable=YES のコメントを外して、restartし、アップロードしなおしたら 見事表示されました。ありがとうございます。 |