E-server » サーバ設定 » Webサーバ(Apache)

ID #1310

改行コードとは、何ですか

改行コードとは、テキストファイル中で改行を意味する文字コードのことを示し、
OS により下記のように文字コードが異なります。

=====================================================
  OS           | 改行コード  | プログラム改行時の文字
---------------+-------------+-----------------------
Windows        |   CR+LF    |    \r\n
---------------+-------------+-----------------------
Unix      |   LF     |    \n
---------------+-------------+-----------------------
Macintosh     |   CR     |    \r 
=====================================================

FTP などのソフトウェアでは、上記のように改行コードが異なっても、
自動的に改行コードを変換してファイルを送信しているため、
異なった改行コードでも問題が発生いたしません。

但し、CGI ファイルは、FTP でのアップロードの際に、ASCII モードを使用しまして、
アップロードする必要があり、Binary モードにてアップロードされた
ファイルは、上記の改行コードが変換されず、サーバにアップロード
されてしまうため、OS により使用不可能な改行コードにて設置されます。


改行コードが CR+LF となり、Windows のままアップロードされたファイルでは、
CGI の実行は不可能となります。

CGI ファイルは、1行目に起動スクリプトを指定する必要がありますが、
CR+LF での改行コードでは、起動スクリプトを指定する #!/usr/bin/perl の
部分のパスが /usr/bin/perl\r というファイルを探してしまうため、
エラーが発生いたします。

/usr/bin/perl\n では、問題の無い改行コードとなり、
実際には、/usr/bin/perl というプログラムを探します。

/usr/bin/perl\r\n では、/usr/bin/perl\r というファイルを探します。

パーミッションも問題ない CGI にてエラーが発生する際などには、
目に見えない改行コードにより発生している可能性もございますので、
ASCII モードを使用しまして、再度ファイルのアップロードをお試しください。

最終更新: 2008-04-15 16:46
作成者: IXENT テクニカルサポート
改定: 1.2

このレコードを印刷する このレコードを印刷する
PDF ファイルで表示する PDF ファイルで表示する

このエントリを評価してください:

評価点数: 0 - 5 (0 個の投票 )

まったく役に立たない 1 2 3 4 5 とても役に立った

このエントリにコメントできません。