A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
改行コードはOSごとに決まっています。
よって、設定変更で変えられるものではありません。
CR+LFのまま使いたいのならWindows上のサーバーで動かしましょう。
Windowsの改行コードはCR+LF (\x0D\x0A)
Linuxの改行コードはLF (\x0A)
MacOSの改行コードはCR (\x0D)
No.2
- 回答日時:
ファイルの転送モードを正しく設定して下さい。
Windowsからサーバーにcgiのソースをアップロードする際、サーバーからWindowsにcgiのソースをダウンロードする際に、FTPの転送モードを「テキストモード」で行って下さい。
アップロードの場合には、Windowsで編集して改行が「CR」「LF」になっているソースが「LF」のみの改行に変更されて転送されます。
ダウンロードの場合には、サーバー上で改行が「LF」になっているソースが「CR」「LF」の改行に変更されて転送されます。
改行コードが「CR」「LF」のままバイナリモードでサーバーに転送すると、「CR」が邪魔をしてシェルがperlを起動できず、サーバー内エラー(500 Internal Server Error)が起きます。
つまり、以下のような事が起こっています。
「--」を付けない場合「/usr/bin/perl[CR]」は存在しないから起動できずエラー。
「--」を付けた場合「/usr/bin/perl --[CR]」は「/usr/bin/perl」が存在するのでperlを起動し「--[CR]」はperlに渡され、正しく起動出来たように見える。(「起動出来たように見える」と言うだけで、本当は正しくない)
なお、スクリプト(2行目以降)部分の各行の行末に[CR]が付いていた場合、スクリプトの書き方によってはperlが期待した動作をしない(文字列比較の判定式の結果が狂うなど)場合があるので、cgiがまともに動かない事があります。
この回答への補足
「--」というのはPerlですか?Apacheですか?
「--」改行の直前が「--」なら、「--」をその環境での
改行として扱うということですか?
サーバのOSはLinuxです。普通は*.cgiはLFでないと動かないらしいですか、CRLFでも動作するようにPerlかApacheで設定できませんか?
No.1
- 回答日時:
サーバーによるのですが、
#!/usr/bin/perl
でエラーが出るならば、
#!/usr/local/bin/perl
ではないでしょうか・・・
この回答への補足
Perlのパスは間違いありません。
*.cgiの改行コードをWindowsからLinuxに変更すると
#!/usr/bin/perl --
にしなくても
#!/usr/bin/perl
で動作しましたが、
#!/usr/bin/perl で、かつ、改行コードをWindowsで
動作する環境にしたいと思っています。
どこを変更すればよいでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SSI(<!--#exec cmd="./XXXpl")...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
ASPから既存のexcelブックを開...
-
TwitterAPIを使用せずに自動ツ...
-
AS/400 QUERYの集計結果について
-
ラジオボタンのグループ化
-
ASP(IIS?)のエラーについて
-
CGIファイル内のCSSが更新でき...
-
HTML文書の中で環境変数を使う...
-
VBAを使用して、外部サーバのフ...
-
ロリポップのパーミッション
-
LAN内に接続されているPCをリ...
-
実行および文字列の受け渡し
-
VBScriptで、ファイルから任意...
-
リビングのソファー(皮)のキ...
-
URLに~/cgi-bin/~を隠す方法
-
jcode.pl のパーミッション
-
CGIがうまくアップできない(50...
-
http://tydsu.com/oeder と後ろ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プロバイダで定められたPerlへ...
-
mailformのCGI設置で「Internal...
-
古ーくからフリーのtree.cgi掲...
-
コアサーバー(coreserver)でのc...
-
CGIでリフレッシュメタタグの代...
-
Perlへのパス
-
Mac OS X 10.5 LeopardのApache...
-
急にCGIが動作しなくなった。
-
ファイルの削除について ( unli...
-
イントラネットにカウンター設置
-
フォームの送信ボタンを押すと
-
CGIのパーミッションについて
-
sendmailの-fオプション記述
-
CGIとプロバイダのつながり...
-
Can't locate R.pm in @INC
-
掲示板CGIが設置できないです。
-
Perlの初歩の初歩の初歩(#!/us...
-
1日の売上表を作りたいのですけ...
-
SSI(<!--#exec cmd="./XXXpl")...
-
#!/usr/bin/perl --
おすすめ情報