
No.2ベストアンサー
- 回答日時:
→
http://oshiete.goo.ne.jp/qa/7030066.html こちらのつづきでしょうか。それならば、CRにするのは解決にはなりません。
おそらく、最近の事情を知らずに「Macではテキストの改行はCR」だと思っているのでしょう。
たしかにOS9まではCRを使っていましたが、OSXではUnixがベースになっており、改行もUnixと同じLFを使っています。
Web共有で使われれうApacheも、CGIを実行するのに使うperlも、LFを改行とみなします。
実際、手許で実験したところ、
CRLF,CR→Internal Error 500
LF → 「ちわ!世界。」と表示
でした。
原因は他にも考えられます。
> perl -c /Library/Webserver/CGI-Executables/test.cgi
文法が正しくてもプログラムとして間違っている、ということはよくあることです。
-cをはずして実行したら、ちゃんとターミナル上に表示されるでしょうか?
CGIでは、その実行ファイルを単体で実行しようとします。perlを探すのは、シェルの役目です。つまり、シェルからコマンドとして実行できる必要があります。ターミナルで
/Library/Webserver/CGI-Executables/test.cgi
とだけ入力したらどうなるでしょうか?
No.1
- 回答日時:
テキストエディット.appには無いようです。
CRに対応したソフト(mi等)を使うのが確実だと思います。
ところで、なぜCRなのでしょう?
この回答への補足
回答ありがとうございます。
長文になりますが、ご指導よろしくお願いいたします。
なぜCRかと申しますと、下記のような質問をしたところ、
返答が、
「エラーの内容はhttpのレスポンスヘッダより前に何かが出力されてしまったため発生しています。
大抵は先頭行の改行コードが問題を引き起こしていますので、環境がMACなら改行コードをCRLFやLFではなく、CRだけにしてください。」
だった為です。
質問内容
CGI プログラムを起動させると、
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.・・・・・
となってしまい、CGIがブラウザに表示されません。
どなたか解決法をご存知の方、教えてください。
(使用PCは、MacOSX(10.6.8)です。)
行った手順
1. Apacheの動作確認
[Machintosh HD]→[アプリケーション]→[システム環境設定] → 共有・アイコン → 「Web 共有」にチェックを入れる。
2. test.cgiを設置
設置場所
[Machintosh HD]→[ライブラリ]→[WebServer] → 「CGI-Executables」にtest.cgiを設置
test.cgiは下記
#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>CGI TEST</TITLE></HEAD>\n";
print "<BODY>ちわ!世界。</BODY>\n";
print "</HTML>\n";
__END__
3.ターミナルでCGIプログラムに実行権をつける
chmod 755 /Library/Webserver/CGI-Executables/test.cgi
4.ブラウザに「http://localhost/cgi-bin/test.cgi」を入力
最初に表示した「Internal Server Error」になってしまう。
ちなみに・・・
1. ファイルに実行権限が付いているか確認したところ、下記のようになりました。
ls -la /Library/WebServer/CGI-Executables/test.cgi
-rwxr-xr-x@ 1 taka staff 188
2. Syntaxを確認したところ、下記のようになりました。
perl -c /Library/Webserver/CGI-Executables/test.cgi
/Library/Webserver/CGI-Executables/test.cgi syntax OK
3. ターミナルにて、which perlを確認したところ、下記のようにまりました。
/usr/bin/perl
4. tail -f /private/var/log/apache2/error_logにてApacheのエラーログを確認をしたところ、下記のようになりました。
[Thu Sep 22 22:31:17 2011] [error] [client 127.0.0.1] (8)Exec format error: exec of '/Library/WebServer/CGI-Executables/test.cgi' failed
[Thu Sep 22 22:31:17 2011] [error] [client 127.0.0.1] Premature end of script headers: test.cgi
エラーログの見方、解決法もわからない初心者です。
どなたか解決法をご存知のかた、教えてください。
どうぞよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 改行コードについて 4 2022/08/13 14:20
- iCloud iCloudのデータがMacbookのストレージをいっぱいにしてしまう 2 2022/08/31 22:34
- ホームページ作成・プログラミング ホームページの内容変更を無料で(自分で)したいので方法を教えてください 3 2022/07/14 13:32
- Access(アクセス) ExcelのVBAコードについて教えてください。 4 2023/01/20 09:44
- Android(アンドロイド) auのAndroid端末のSIMカードがロックされてしまいました。 6 2022/08/22 20:31
- Visual Basic(VBA) Excelのマクロについて教えてください。 作業フォルダ内に2つのファイルがあります。 このファイル 2 2023/07/09 13:40
- iOS PCを借りれる所はありますか? スマホでPC用ソフトを購入したけど、 コード入れても使えなくて よく 2 2023/06/24 01:44
- Excel(エクセル) エクセルのマクロについて教えてください。 7 2023/01/13 13:33
- ドライブ・ストレージ 古い外付けHDDから新品外付けHDDへのデータ移行方法 (Mac) 2 2022/12/11 02:01
- docomo(ドコモ) dアカウントの携帯電話番号が登録できない。ワンタイムコードがSMSに届かない。 2 2023/07/09 23:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
改行文字保存時のゴミ
-
一行掲示板を改行が入る掲示板...
-
cgiログデータ入力
-
メールフォームで改行スペース...
-
こういう文章の書き方ってどう...
-
Excel VBA メール作成について ...
-
メモ帳での改行
-
文字化け
-
配列のデータから改行だけを取...
-
Rstudioによるテキストマイニン...
-
textareaのデータのcgiでの受け...
-
3桁コードの先頭文字を取り出す
-
PCサイトを携帯変換してくれるp...
-
ピクセル,dpiから容量(バイト...
-
VBAでプロシージャ間のデータを...
-
sort関数でひらがなとカタカナ...
-
3バイト文字(UTF-8)をprintfで...
-
UTF-8で5~6バイトになる文字コ...
-
int型(2バイト)データの分割
-
linuxサーバーにUPしたCGIにネ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA メール作成について ...
-
CGIを勉強しています。¥n(改...
-
Line Inputにて改行があっても...
-
改行コードがそのまま表示され...
-
Rstudioによるテキストマイニン...
-
テキストボックスに入力された...
-
ホームページビルダーで行間を...
-
MACの改行コード変更について教...
-
【HELP!!】Excelから保存したtx...
-
大至急!! メモ帳でホームペ...
-
エクセルで「改行コード」を「...
-
配列のデータから改行だけを取...
-
cgiログデータ入力
-
アクセスした日付より前の記事...
-
TEXTAREAの改行がうまくいきま...
-
連想するもの教えてください
-
メモ帳での改行
-
perlで、[ \\r\\n , \\n ]の意...
-
<wbr>を強制的に入れるには??
-
number 改行が追加できない
おすすめ情報